मैं ओवरफैड का विचार पाने के लिए perf का उपयोग कर रहा हूं, मेरे प्रोग्राम के प्रत्येक फ़ंक्शन को कुल निष्पादन समय पर लगाया जाता है। कि के लिए, मैं सीपीयू चक्र घटना का उपयोग करें:पेर्फ कैसे काम करता है?
perf record -e cpu-cycles -c 10000 <binary-with-arguments>
जब मैं उत्पादन को देखो, मैं एक समारोह के साथ जुड़े कुछ प्रतिशत देखने। लेकिन मेरे लिए क्या समझ में नहीं आता है इस तरह का एक मामला है: फ़ंक्शन ए को फ़ंक्शन बी के भीतर बुलाया जाता है और कहीं और नहीं। लेकिन फंक्शन ए के लिए मुझे प्राप्त ओवरहेड प्रतिशत बी से अधिक है। यदि बी ए कॉल करता है, तो इसका मतलब है कि बी को ए ओवरहेड शामिल करना चाहिए। या मुझसे यहां कुछ छूट रहा है?