Linux पर C++ कोड का प्रोफाइलिंग: अड़चनें कैसे खोजें और प्रोग्राम को तेज़ कैसे बनाएं?
सभी को नमस्ते! मैं काफी समय से C++ में लिख रहा हूं, लेकिन कभी गंभीरता से प्रोफाइलिंग नहीं की। अब मुझे एक समस्या का सामना करना पड़ा: मेरा प्रोग्राम, जो बड़ी मात्रा में डेटा प्रोसेस करता है, बहुत धीमा चल रहा है। यह CSV फ़ाइलों को पार्स करता है, कुछ गणितीय गणनाएं करता है और परिणामों को बाइनरी फ़ाइल में लिखता है। 500 MB डेटा के टेस्ट सेट पर, इसे पूरा होने में लगभग 4 मिनट लगते हैं, जबकि मैं इसे 30 सेकंड में पूरा करना चाहूंगा।
यहां मैं जो कर रहा हूं उसका एक सरल उदाहरण है:
```cpp
#include
#include
#include
#include
std::vector processData(const std::vector& input) {
std::vector result;
result.reserve(input.size());
for (size_t i = 0; i < input.size(); ++i) {
double val = input[i];
// कुछ गणनाएं
for (int j = 0; j < 1000; ++j) {
val = std::sin(val * 1.5) + std::cos(val * 0.7);
}
result.push_back(val);
}
return result;
}
int main() {