हम g ++ 4.2.4 का उपयोग करते हैं और मैं अपने कोड में कुछ प्रदर्शन समस्याओं को ट्रैक करने का प्रयास कर रहा हूं।फ़ंक्शन __tcf_0 क्या है? (Gprof और g ++ का उपयोग करते समय देखा गया)
मैं gprof चल रहा हूँ प्रोफ़ाइल उत्पन्न करने के लिए, और मैं निम्नलिखित "परायापन" कि में सबसे महंगी समारोह __tcf_0 है हो रही है:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
40.00 0.04 0.04 1 40.00 95.00 __tcf_0
इस समारोह तो प्रतीत होता है करने के लिए मेरे उपयोगकर्ता से ज्यादातर कॉल कार्य (यानी यह वह है जिसे मुख्य से बुलाया जाता है)। इसके लिए मैंने पाया निकटतम स्पष्टीकरण here था, लेकिन वह लिंक स्थैतिक वस्तुओं और अतुलनीय को संदर्भित करता है, और मुझे नहीं लगता कि यह मेरे मामले में लागू होता है।
यदि यह सहायक है, तो मैं बूस्ट (प्रोग्राम_प्शन और फ़्यूज़न) और एचडीएफ 5 पुस्तकालयों का उपयोग कर रहा हूं।
अद्यतन:
आदेश जब निर्माण मैं का उपयोग करें:
g++ -Wreturn-type -Wunused -Winline -pg -DLINUX -DHAS_SETENV \
-DFUSION_MAX_MAP_SIZE=15 -DFUSION_MAX_VECTOR_SIZE=15 -g -O0 \
--param large-function-growth=300 --param inline-unit-growth=200
मैंने बिल्ड कमांड जोड़ा है जिसे हम प्रश्न के लिए उपयोग करते हैं। हमारे पास एक सुंदर लचीला निर्माण प्रणाली है, और यह एक विशेष "gprof" कॉन्फ़िगरेशन का उपयोग कर रहा है जिसे मैंने अतीत में सफलता के साथ उपयोग किया है। तो सिद्धांत रूप में मैं * सोचता हूं * मेरे पास आवश्यक सभी सेटिंग्स हैं। –
दोनों उत्तर काफी सही हैं - लेकिन प्रतिनिधि शायद आपके लिए अधिक उपयोगी है। –