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() {
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Die 10 besten Go-Frameworks für die Webentwicklung im Jahr 2025
10 beste Rust-Frameworks für die Webentwicklung: Von A bis Z
Stack oder Heap in Go: Wie die Allokation von Structs den GC beeinflusst