compiler-optimization पर टैग किए गए जवाब

कंपाइलर ऑप्टिमाइज़ेशन में रन-टाइम या ऑब्जेक्ट आकार या दोनों को कम करने के लिए एक कंपाइलर को शामिल करना शामिल है। यह संकलक तर्कों (यानी CFLAGS, LDFLAGS), संकलक प्लगइन्स (उदाहरण के लिए DEHYDRA) या संकलक (जैसे संशोधित स्रोत कोड) से सीधे संशोधनों का उपयोग करके पूरा किया जा सकता है।

13
मैं एक अनंत खाली लूप कैसे बनाऊंगा जिसे दूर नहीं किया जाएगा?
C11 मानक का तात्पर्य यह है कि निरंतर नियंत्रण अभिव्यक्तियों के साथ पुनरावृत्ति बयानों को अनुकूलित नहीं किया जाना चाहिए। मैं इस उत्तर से अपनी सलाह ले रहा हूं , जो विशेष रूप से मसौदा मानक से खंड 6.8.5 को उद्धृत करता है: एक पुनरावृत्ति बयान जिसका नियंत्रण अभिव्यक्ति एक …

3
इस सूचक का उपयोग करने से गर्म लूप में अजीब विकृति का कारण बनता है
मैं हाल ही में एक अजीब deoptimization (या बल्कि अनुकूलन अवसर याद किया) आया था। 8-बिट पूर्णांक के लिए 3-बिट पूर्णांक के सरणियों के कुशल अनपैकिंग के लिए इस फ़ंक्शन पर विचार करें। यह प्रत्येक लूप पुनरावृत्ति में 16 इनट्स को अनपैक करता है: void unpack3bit(uint8_t* target, char* source, int …

11
एक समारोह में समय से पहले वापसी की क्षमता
यह एक ऐसी स्थिति है जिसका मैं एक अनुभवहीन प्रोग्रामर के रूप में अक्सर सामना करता हूं और विशेष रूप से एक महत्वाकांक्षी, गति-गहन परियोजना के लिए सोच रहा हूं, जिसे मैं अनुकूलित करने की कोशिश कर रहा हूं। प्रमुख सी-लाइक लैंग्वेज (C, objC, C ++, Java, C #, आदि) …

3
क्लैंग अनुकूलन स्तर
जीसीसी पर, मैनुअल बताते हैं क्या -O3, -Osआदि विशिष्ट अनुकूलन तर्क के संदर्भ में से अनुवाद ( -funswitch-loops, -fcompare-elimआदि) मैं क्लैंग के लिए एक ही जानकारी के लिए देख रहा हूँ । मैं देखा है ऑनलाइन और में man clangजो केवल सामान्य जानकारी देता है ( -O2अधिक से अधिक अनुकूलन …

4
जब d == 0 को शून्य अपवाद द्वारा 'd / = d' डिविजन क्यों नहीं फेंकता है?
मुझे यह समझ में नहीं आया कि मुझे शून्य अपवाद द्वारा विभाजन क्यों नहीं मिला: int d = 0; d /= d; मुझे शून्य अपवाद द्वारा एक विभाजन प्राप्त करने की उम्मीद थी लेकिन इसके बजाय d == 1। d /= dशून्य अपवाद द्वारा विभाजन को क्यों नहीं फेंका जाता …

2
क्यों स्विच को उसी तरह से ऑप्टिमाइज़ नहीं किया जाता है जैसे कि c / c ++ में और क्यों?
वर्ग का निम्नलिखित कार्यान्वयन सीएमपी / जेई बयानों की एक श्रृंखला का उत्पादन करता है जैसे कि मैं एक जंजीर की अपेक्षा करता हूं यदि कथन: int square(int num) { if (num == 0){ return 0; } else if (num == 1){ return 1; } else if (num == 2){ …

2
% संचालक की तुलना में तेज़ विभाज्यता परीक्षण?
मैंने अपने कंप्यूटर पर एक उत्सुक चीज़ देखी। * हस्तलिखित विभाज्यता परीक्षण %ऑपरेटर की तुलना में काफी तेज है । न्यूनतम उदाहरण पर विचार करें: * एएमडी राईजन थ्रेडिपर 2990WX, GCC 9.2.0 static int divisible_ui_p(unsigned int m, unsigned int a) { if (m <= a) { if (m == a) …

1
किसी सरणी के जीसीसी एकत्रीकरण को शून्य शून्य तत्वों सहित पूरी चीज़ को पहले क्यों भरा जाता है?
जीसीसी केवल शेष 96 पूर्णांक के बजाय जीरो के साथ पूरे सरणी को क्यों भरता है? गैर-शून्य इनिशियलाइज़र सभी सरणी के प्रारंभ में हैं। void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier // forces the compiler to …

2
जावा 8: Class.getName () धीमा हो जाता है स्ट्रिंग संघनन श्रृंखला
हाल ही में मैं स्ट्रिंग मुद्दे पर एक मुद्दे पर चला हूं। यह मानदंड इसे सारांशित करता है: @OutputTimeUnit(TimeUnit.NANOSECONDS) public class BrokenConcatenationBenchmark { @Benchmark public String slow(Data data) { final Class<? extends Data> clazz = data.clazz; return "class " + clazz.getName(); } @Benchmark public String fast(Data data) { final Class<? …

2
क्या मेरे संकलक ने मेरे अप्रयुक्त स्थिर थ्रेड_लोक क्लास के सदस्य की उपेक्षा की?
मैं अपनी कक्षा में कुछ थ्रेड पंजीकरण करना चाहता हूं, इसलिए मैं इस thread_localसुविधा के लिए एक चेक जोड़ने का निर्णय लेता हूं : #include <iostream> #include <thread> class Foo { public: Foo() { std::cout << "Foo()" << std::endl; } ~Foo() { std::cout << "~Foo()" << std::endl; } }; class …
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.