Editorial · Writing · Culture · Publishing

脈絡

評論.書寫.文化.出版

台灣 App 市場

為什麼 App 開發者需要速度最快的機器+速度最快的手機

陳坤助 · · 約 3,500 字

Why APP developers need the fastest device.

編譯的專案:TWI2012Q2 (不用管這是什麼專案,下面數據比較重要,這是我要提醒我自己,未來如果有新的機器,要重新編譯測試用的)

編譯的機器:

  1. Mac Mini Server 2010Mid,10.7.4 Lion,2.66GHz Intel Core 2 Duo,8GB 1067MHz,雙核心,硬碟7200rpm,Rebuild初次編譯約48秒,二次編譯時間約24秒,CPU 約150%,每個核心約100%滿載。
  2. Mac Mini Server 2010Mid,10.8.2 Lion,2.66GHz Intel Core 2 Duo,8GB 1067MHz,雙核心,Intel 330 SSD,Rebuild初次編譯約48秒,二次編譯時間約25秒,CPU 約150%,每個核心約100%滿載。
  3. MBP 13″ 2012Mid,10.7.4 Lion, 2.5GHz Intel Core i5, 4GB 1666MHz DDR3,四核心, Rebuild初次編譯約32秒,二次編譯時間約13秒,CPU 約250%,每個核心約80%負擔。
  4. Macbook Air 13″ 2012Mid,Mac, OSX 10.8.1,1.8GHz Intel Core i5, 8GB RAM, 四核心,Rebuild約32秒,二次編譯約16秒,CPU Max 300%, 每核心約90%。
  5. (2012-11-13) 測試 Mac Mini 2012Late, OSX 10.8.2,  2.3GHz Intel Core i7, 4GB RAM , 四核心, Rebuild約23秒 ( CPU 40%),二次編譯時間約12秒。
  6. (2012-12-04)測試 Mac Mini 2012Late, OSX 10.8.2,  2.3GHz Intel Core i7, 8GB RAM , 四核心, Rebuild約20秒 ( CPU 90%),二次編譯時間約10秒。 (之後最佳化後,Rebuild:14s, 2nd:6.9秒,很驚人,而且應該速度還可以更快一點)

應該借用MBP Retina 2012Mid那台機器編譯看看的,聽朋友說,他的Project編譯都是『秒殺』,秒殺耶~~我把怪打死都要半分鐘,他竟然「秒殺」。 認識的至少2個APP開發者,1位美術設計者,已經買了MBPR,其中一位,還是用訂製16GB RAM的規格。   2012-11-13 測試到MacMini 2012Mid, Intel Core i7的機器,沒想到二次編譯還要10秒以上。

弄了遠端編譯的機器,到 Amazon EC2網咖,租了幾個等級的機器比較一下,想確認是否編譯速度可以加速,OS : Windows 2008,編譯的時候記憶體逐步往上吃,編譯完後,記憶體就釋放。

  1. 等級c1.medium, 2Cores, AMD64, 1.7GB RAM, 5ECUs, I/O:Moderate, AMI:Windows_Server-2008-SP2-English-64Bit-Base-2012.07.11 ,Rebuild初次編譯約72秒,二次編譯時間約22秒,CPU 約50%~80%負擔。(Intel Xeon CPU E5506 2.13GHz 2.21Ghz)
  2. 等級m2.4xlage, 8Cores,  AMD64, 68.4GB RAM, 26 ECUs, I/O: High, AMI:Windows_Server-2008-SP2-English-64Bit-Base-2012.07.11 , Rebuild初次編譯約50秒,二次編譯時間約11秒,CPU 約10%~20%負擔,,只有幾個Thread在跑。(Intel Xeon CPU E5550 2.67GHz 2.90Ghz)
  3. 等級cc2.8xlarge, 16Cores, 32個Thread, AMD64,  60.5GB RAM, 88 ECUs, I/O: Very High, AMI : AMI:Windows_Server-2008-R2_SP1-English-64Bit-Base_Cluster-2012.07.11, Rebuild初次編譯約   59秒,二次編譯時間約10秒,CPU 約0~100% 負擔,只有幾個Thread在跑 (Intel Xeon CPU E5-2670 0 2.60GHz 2.65Ghz)

(Amazon 的測試報告全部花了美金$6.96,都只開幾十分鐘,最少都以1hr計算,還有開錯機器,照算錢,貴桑桑)

測試手機:

  1. 上傳到HTC Sensation XL 1.5GHz手機,約需15秒開始執行。 (有HTC Sense)
  2. 上傳到HTC Sensation XL,刷CustomROM,約7秒鐘。(移除HTC Sense,乾淨的ROM)
  3. 上傳到Samsung Galaxy S2 1.5Ghz手機,約5秒。
  4. (2012-11-12)Samsung Galaxy S3,Android 4.1.1,約 4.5秒。
  5. (2012-11-12)Nexus 7 16GB,Android 4.1.2,約8秒。
  6. (2012-11-12)  Kindle Fire HD (7.2.1_user_2040020),約5秒。 (竟然幹掉Nexus 7,可惜他沒有內建Google Maps,地圖相關的App是無法測試的)

再計算:

  1. 如果編譯時間每次節省10秒,上傳時間節省10秒,等於每改一次code節省約20秒。
  2. 一天debug+編譯+上傳測試,以100次計算,100×20=2000秒 / 60 = 33分鐘。
  3. x300次 = 300×20 = 6000 / 60 = 100分鐘 = 1.67小時。
  4. x500次 = 500×20 = 10000 / 60 =  167分鐘 =  2.78小時。

如果每次再快10秒,等於每次節省30秒,約5秒編譯,5秒上傳執行

  1. 每天編譯+上傳執行100次= 100×30 = 3000秒/60 = 50分鐘。
  2. 每天編譯+上傳執行300次= 300×30 = 9000秒/60 = 150分鐘 = 2.5小時。
  3. 每天編譯+上傳執行500次= 500×30 = 9000秒/60 = 250分鐘 = 4.167小時。

如果一天節省2小時,一個月下來約省下60小時,差不多是2.5天,一年約30天,等於多了一個月的時程,整個開發時程快了約1成的時間。 

這結果看起來非常驚人!!!!尤其需要進入大量debug、compiler、upload、test的恐怖輪迴當中,可以早一點脫離輪迴悟道,也就是早一點發佈上架賺錢。

結論:

為什麼開發者需要速度最快的機器,速度最快的手機,因為 Time is Money $$$  ,電腦、螢幕、手機等設備等於開發者的硬體武力軍火,軍火強大至少能省下不少時間與製造更多機會。 難怪世界強權都在搶誰是運算速度第一個頭銜。

所以買最新的手機、最快的電腦,是為了節省時間,享受生命。  (這真是一個換機的好藉口)

  1. 編譯的時候,CPU的需求很高,最好是單顆CPU,多核心,頻率越高越好,編譯很吃運算資源。(OK~雲端運算在這個時候,完全沒有幫助!!浪費錢而已~  XD  )
  2. 手機等級也很重要,因為安裝、執行、測試都需要不少時間。。
  3. iOS的開發環境編譯速度與流暢度,是比Android快的,尤其是iOS Smulator的運作速度,真的是無可比擬的快。
  4. 聽說做美術的朋友,機器效果都不錯,改天有機會借用個10分鐘測試看看,誰有i7,3.0GHz,以上的 Mac,借我跑一次阿XD,如果真的快,就可以列入「清單」了。
  5. 我曾經白目在Apple的展示間,直接在人家的展示機Compiler, Demo機的效率真的很差,不過那位店員真的很熱心,幫我開啟網路,又耐心的讓我下載IDE、SDK,最後編譯完成。當然,我沒買那個等級的機器。
  6. 這樣每年可以多出一個月的時間,好好陪老婆/女友,或者為公司省下一個月的成本。相信這樣應該可以讓太座認可,讓老闆買單。
  7. 老闆們,買最好的設備給RD用,省下一個月的薪水,機器都回本了吧!!
  8. Mac benchmarks 參考一下這個連結 http://browser.primatelabs.com/mac-benchmarks。 
  9. 看來 2012mid的 MBP、MBPR i7 2.7GHz是不錯的選擇(Turbo Boost 可達 3.7GHz),只是是訂製品,高達NT$9.8萬。(對於專業需求速的開發者,買一台10萬元的開發機,一年省回一個月的時間,這應該是不錯的投資)
  10.  預算足夠的,就直接上Mac Pro 2012Mid了,2個 3.06GHz 六核心 Intel Xeon (十二核心),高達NT$20萬元。

不過大概沒人相信,我第一台的Android開發機,是把Window Mobile 6的 HTC Tytn II 機器,刷ROM改成 Android 1.6的,速度真的是慢到跟模擬器差不多。(另一個觀點:能省則省阿~~XD )

同一條脈絡:台灣 App 市場

  1. 2012關於 2012 年,台灣 App 行動廣告市場的看法
  2. 20122012 年中,App 在台灣市場的概觀
  3. 2012雜誌訪談後記:關於 App 市場,政府方面應該做什麼呢?
  4. 2012為什麼 App 開發者需要速度最快的機器+速度最快的手機
  5. 2012App 的現在與未來
  6. 2012淺談台灣的 App 創業市場
  7. 2012鄉下熱血老伯跟我提的 App 計畫
  8. 2012KNY 獲得 Google Play 頂尖開發人員 徽章
  9. 2012中央社,英文新聞:Taiwanese app developer awarded Android ‘top developer badge’
  10. 2012Taiwan App Xmas Party 2012
  11. 2013Google Play Top Developer
  12. 2013Google Play 付費商店重新開張
  13. 2013App 在台灣算是一個產業嗎?
  14. 2013App 是用來解決個人化的問題
  15. 2013Mobile First。行動優先
  16. 2013免費的 App 如何賺取收益
  17. 2013AppDC 台灣 App 開發者社群
  18. 2013App 經紀人
  19. 2013再論 App 的價值