書名: 現(xiàn)代CPU性能分析與優(yōu)化作者名: (美)丹尼斯·巴赫瓦洛夫本章字?jǐn)?shù): 738字更新時(shí)間: 2023-11-09 19:34:47
前言
寫作目的
我寫這本書的目的很簡單:幫助軟件開發(fā)人員更好地理解應(yīng)用程序在現(xiàn)代硬件上的性能。我知道,對于初學(xué)者甚至資深的開發(fā)人員來說,該話題可能會(huì)讓他們感到困惑,這種困惑主要發(fā)生在沒有從事過與性能相關(guān)的工作的開發(fā)人員身上。不過這并不是問題,畢竟所有的專家都曾是初學(xué)者。
我至今還記得剛開始進(jìn)行性能分析的那些日子:盯著不熟悉的指標(biāo),試圖匹配一些不匹配的數(shù)據(jù),每日都感到非常困惑。我花了好幾年的時(shí)間才終于融會(huì)貫通,把相關(guān)的知識(shí)拼圖拼湊到了一起。當(dāng)時(shí),唯一的信息來源是軟件開發(fā)者手冊,但是它不是主流開發(fā)者喜歡閱讀的文檔。所以,我決定寫這本書,希望本書能夠讓開發(fā)人員更容易地學(xué)習(xí)性能分析的相關(guān)概念。
認(rèn)為自己是性能分析初學(xué)者的開發(fā)者,可以從本書的開頭逐章閱讀。第2~4章為開發(fā)者提供了閱讀后面各章所需的必備知識(shí),已經(jīng)熟悉這些概念的讀者可以選擇跳過這些章節(jié)。此外,本書可用作優(yōu)化軟件應(yīng)用程序的參考指南。讀者可把第7~11章的內(nèi)容作為調(diào)優(yōu)代碼的靈感來源。
目標(biāo)讀者
本書主要面向性能關(guān)鍵型應(yīng)用程序和底層優(yōu)化軟件的開發(fā)者。這里只列舉幾個(gè)相關(guān)領(lǐng)域,如高性能計(jì)算(High-Performance Computing,HPC)、游戲開發(fā)、數(shù)據(jù)中心應(yīng)用(如Facebook和Google等)、高頻交易。但是,本書的應(yīng)用范圍并不局限于上述行業(yè)。對于任何希望更好地了解應(yīng)用程序性能,希望知道如何診斷和改進(jìn)應(yīng)用程序的開發(fā)者來說,本書都是有用的。我希望本書中介紹的內(nèi)容可以幫助讀者培養(yǎng)可用于日常工作的新技能。
讀者應(yīng)當(dāng)具備C/C++編程語言的基本知識(shí),以方便理解本書的示例。如果讀者具備基本的x86匯編語言閱讀能力則更佳,但這并非嚴(yán)格要求。讀者還需要熟悉計(jì)算機(jī)架構(gòu)和操作系統(tǒng)的基本概念,如中央處理器、內(nèi)存、進(jìn)程、線程、虛擬內(nèi)存和物理內(nèi)存、上下文切換等。如果讀者還不熟悉上述術(shù)語的話,建議先學(xué)習(xí)一下相關(guān)知識(shí)。
- Visual C++程序設(shè)計(jì)教程
- The Modern C++ Challenge
- What's New in TensorFlow 2.0
- Arduino by Example
- 認(rèn)識(shí)編程:以Python語言講透編程的本質(zhì)
- Android Application Development Cookbook(Second Edition)
- Animate CC二維動(dòng)畫設(shè)計(jì)與制作(微課版)
- Java應(yīng)用開發(fā)技術(shù)實(shí)例教程
- SharePoint Development with the SharePoint Framework
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- 智能手機(jī)故障檢測與維修從入門到精通
- 零基礎(chǔ)輕松學(xué)C++:青少年趣味編程(全彩版)
- Implementing Microsoft Dynamics NAV(Third Edition)
- C++17 By Example
- 少兒編程輕松學(xué)(全2冊)