Avatar ·

تحليل أداء كود C++ على Linux: كيف تجد نقاط الضعف وتسريع البرنامج؟

مرحباً بالجميع! أنا أكتب بلغة C++ منذ فترة طويلة، لكنني لم أتعامل بجدية مع تحليل الأداء من قبل. الآن واجهت مشكلة: برنامجي الذي يعالج كميات كبيرة من البيانات يعمل ببطء شديد. يقوم بتحليل ملفات CSV، ويجري بعض الحسابات الرياضية، ويكتب النتائج في ملف ثنائي. على مجموعة اختبار بحجم 500 ميجابايت من البيانات، يستغرق التنفيذ حوالي 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() {