Avatar ·

Profilierung von C++-Code unter Linux: Wie finde ich Engpässe und beschleunige das Programm?

Hallo zusammen! Ich schreibe schon ziemlich lange in C++, habe mich aber nie ernsthaft mit Profilierung beschäftigt. Jetzt bin ich auf ein Problem gestoßen: Mein Programm, das große Datenmengen verarbeitet, läuft zu langsam. Es parst CSV-Dateien, führt einige mathematische Berechnungen durch und schreibt die Ergebnisse in eine Binärdatei. Bei einem Testsatz von 500 MB Daten dauert die Ausführung etwa 4 Minuten, aber ich würde gerne auf 30 Sekunden kommen. Hier ist ein vereinfachtes Beispiel dessen, was ich mache: ```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]; // Einige Berechnungen 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() {