जैसा कि शीर्षक कहता है: आप c ++ में म्यूटेक्स के विभिन्न कार्यान्वयनों को कैसे ठीक से परीक्षण और बेंचमार्क करते हैं?
अनिवार्य रूप से मैंने अपना स्वयं का std :: mutex को एक 2 कोर पर चलने वाले प्रोजेक्ट के लिए वर्ग की तरह लिखा, निर्विरोध मामले में ओवरहेड को कम करने के उद्देश्य से armv7। अब मैं अधिक स्थानों और विभिन्न आर्किटेक्चर में भी म्यूटेक्स का उपयोग करने पर विचार कर रहा हूं, लेकिन इससे पहले कि मैं ऐसा करूं मैं यह सुनिश्चित करना चाहता हूं
- यह वास्तव में सही है
- ऐसे कोई भी रोग संबंधी मामले नहीं हैं, जिसमें यह मानक मानक :: म्यूटेक्स की तुलना में बहुत खराब प्रदर्शन करता है।
जाहिर है, मैंने कुछ बुनियादी इकाई परीक्षण और माइक्रो-बेंचमार्क लिखे और सब कुछ काम करने लगता है, लेकिन बहु-थ्रेडेड कोड में "काम करने लगता है" मुझे बहुत आराम नहीं देता है।
- तो, क्या कोई स्थापित स्थैतिक या गतिशील विश्लेषण तकनीक है?
- म्यूटेक्स कक्षाओं के लिए इकाई परीक्षण लिखते समय क्या सामान्य नुकसान होते हैं?
- विशिष्ट धार वाले मामले कौन से हैं, जिन्हें (प्रदर्शन-वार) देखना चाहिए?
मैं केवल कार्यान्वयन के लिए मानक पुस्तकालय प्रकारों का उपयोग कर रहा हूं, जिसमें परमाणु पर गैर-अनुक्रमिक-संगत लोड और स्टोर संचालन शामिल हैं। हालाँकि, मैं मुख्य रूप से अज्ञेय सलाह को लागू करने में दिलचस्पी रखता हूं, क्योंकि मैं अन्य कार्यान्वयन के लिए एक ही परीक्षण दोहन का उपयोग करना चाहता हूं।