色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

提高 Xcode 在讀寫上的速度的實現方法

大?。?/span>0.3 MB 人氣: 2017-09-25 需要積分:1

  上個月參加了一場西雅圖當地的線下 iOS 開發者聚會。Jeff Szuhay 作為一個有20+年開發經驗的資深程序員,跟我講了一套提高 iOS 開發效率的方法。相比于其他程序員在 App 啟動時間、架構優化方面的經驗,老爺子 Jeff 的優化基于硬件層面,匠心獨運,極客風十足。以下是他的經驗分享和我個人的實測。

  問題來源

  我們都知道 Xcode 在運行或編譯時,會有大量的讀寫操作。例如從硬盤中調用圖片,我們會這么操作:

  let image = UIImage(named: “imageName”)

  這時候 Xcode 就會去電腦的硬盤中去找到圖片,完成讀寫操作。類似的操作還有存取文件等等。如果這類讀取數量比較少,那么無傷大雅,但是一旦多起來,尤其是大項目在后期產生了大量的 DerivedData 存在硬盤上,Xcode 在編譯時就會花大量時間去硬盤(Disk)上完成讀寫這些數據的操作。更不幸的是有時候還會遇到硬盤故障等問題。

  解決思路

  正所謂“哪里需要優化,哪里就需要程序員”,Jeff 在這個時候作為一名白衣騎士登場了。多年的計算機研究讓他對整個計算機架構非常熟悉。下圖是他展示的計算機結構簡圖。

  提高 Xcode 在讀寫上的速度的實現方法

  計算機結構簡圖

  此圖簡潔明了得說明了計算機的基本架構。左上角是計算機的大腦,CPU,負責核心計算和處理工作;右上角是內存(RAM),用來運行程序并與 CPU 進行數據交流;中間的線是總線,負責各個模塊之間傳遞信息信號;圖下側是基本的 System IO。

  再回來看我們的問題:Xcode 現在是在 RAM 中運行,然后到 Storage 中讀寫數據,數據接著再傳回 RAM。這種方式有兩個瓶頸:

  Storage 速度很慢。即使是最先進的 SSD,其速度也比 RAM 慢了400倍。也就是無論你怎么在軟件層優化,其速度也無法突破 SSD 的瓶頸;

  數據要不停的在各個模塊之間傳遞。傳遞過程中亦有延時和無謂的時間消耗。

  針對以上兩個瓶頸,Jeff 認為,如果我們可以讓所有的讀寫操作都在內存(RAM)中完成,那么必然能大幅提高 Xcode 的工作效率。問題是,怎么實現?

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 狠狠综合久久综合88亚洲| 纯肉高H放荡受BL文库| 99成人在线| 和老外3p爽粗大免费视频| 视频网站入口在线看| yellow日本动漫高清| 男人J进入女人P免费狂躁| 中文字幕精品无码一区二区| 久久精品热99看二| 益日韩欧群交P片内射中文| 久久re6热在线视频| 野花高清在线观看免费3中文| 国产午夜精品理论片| 亚洲国产在线精品第二剧情不卡| 国产精品女上位好爽在线短片| 天天靠天天擦天天摸| 国产精品点击进入在线影院高清 | 风情韵味人妻HD| 挺弄抽插喷射HH| 国产亚洲精品品视频在线| 亚洲精品97福利在线| 久久99亚洲AV无码四区碰碰| 中文字幕国产在线观看| 暖暖 免费 高清 日本视频大全| adc影院在线| 天天靠天天擦天天摸| 黄色三级在线| 4399亚洲AV无码V无码网站| 欧美末成年videos丨| 囯产免费久久久久久国产免费 | 一攻多受h嗯啊巨肉bl巨污| 两个人看的www免费高清直播 | 精品久久久久中文字幕| 曰曰夜夜在线影院视| 暖暖直播免费观看韩国| 成人在线观看视频免费| 性欧美video| 美女网站免费看| 高清国产一区| 亚洲人美女肛交真人全程| 免费毛片播放|