2017-12-29 82 views
6

का उपयोग कर रही है, मेरे पास एक विशाल हैश है जिसमें दैनिक सांख्यिकीय डेटा के बारे में 10 साल का मूल्य है। क्या इस हैश का उपयोग कर रहा है (उदाहरण के लिए showMemoryUsed(%myBigHash)) निर्धारित करने के लिए पर्ल 6 में एक तरीका है कि यह निर्धारित करने के लिए कि कितनी असली मेमोरी (बाइट्स में) है। यहां तक ​​कि यदि %myBigHash खाली है, तो यह उपयोग की गई स्मृति और हैश डेटा प्रकार के पर्ल 6 कार्यान्वयन के कारण शून्य बाइट्स नहीं है। यह जानकारी मुझे बताएगी कि मुझे अपने कोड को फिर से कार्यान्वित करने की आवश्यकता है या समय-समय पर रैम की कमी को कम करने के लिए फ़ाइल में लिखना है (मेरा प्रोग्राम आभासी लिनक्स पर 2 जी रैम के साथ चल रहा है)।दिखा रहा है कि डेटा संरचना कितनी मेमोरी

धन्यवाद।

उत्तर

5

हां, हमारे पास राकुडो पर्ल 6 में ऐसा कुछ नहीं है। बाहर अधिक जानकारी के लिए टेलीमेटरी प्रलेखन

use Telemetry; 
my $before = T<max-rss>; 
my %h = ...; # initialize hash 
say "Memory usage grew { T<max-rss> - $before } KB"; 

चेक: केवल एक चीज मैं सिफारिश कर सकते हैं, Telemetry मॉड्यूल उपयोग कर रहा है https://docs.perl6.org/type/Telemetry

+0

अपने स्पष्टीकरण के लिए आप एलिजाबेथ Mattijsen धन्यवाद !! मैं टेलीमेट्री मॉड्यूल की जांच करूंगा। – lisprogtor

संबंधित मुद्दे