- 軟件系統優化
- 郭健美 黃波 劉通宇 林曉東 趙鵬
- 427字
- 2025-08-07 15:12:58
1.7 本章小結
本章嘗試使用不同的方法對兩個4096×4096矩陣的乘法進行性能優化。為了方便對比各個版本程序的性能,我們以性能最差的Python語言實現版本作為基線(baseline),計算各個版本程序性能的絕對加速比(absolute speedup),公式如下:

同時,計算每個版本的性能相對于前一個版本的性能所獲得的相對加速比(relative speedup),公式如下:

此外,計算各個實現版本的每秒十億次浮點運算次數(Giga Floating Point Operations Per Second,GFLOPS)作為算力比較的一部分。在4096×4096矩陣乘法中,以Python語言實現為例,總運算量包括一個三重循環的計算,且最內層的每次循環都需要進行浮點數的一次乘法和一次加法的運算,總運算量約為2×(212)3=237次浮點運算。因此,可以用來計算各個版本的GFLOPS。
綜上,各個實現版本的運行結果如表1.8所示。從結果可以看到,最終的優化代碼1.9相比最早的實現代碼1.1,性能提升了50 064倍。這充分說明了普通程序員編寫的程序和深入理解軟件系統優化的專家編寫的程序之間存在巨大的性能差距,也說明了學習軟件系統優化相關知識的必要性。
表1.8 矩陣乘法各實現版本的性能優化結果

推薦閱讀
- 黑客攻防從入門到精通(實戰秘笈版)
- JavaScript:Functional Programming for JavaScript Developers
- 深入淺出Spring Boot 2.x
- Bulma必知必會
- C語言實驗指導及習題解析
- 大學計算機基礎(第2版)(微課版)
- C語言程序設計同步訓練與上機指導(第三版)
- Hands-On Automation Testing with Java for Beginners
- Apache Spark 2.x for Java Developers
- 代替VBA!用Python輕松實現Excel編程
- SQL Server 2008中文版項目教程(第3版)
- Mastering VMware Horizon 7(Second Edition)
- Drupal 8 Development:Beginner's Guide(Second Edition)
- AutoCAD基礎教程
- Python計算機視覺與深度學習實戰