為了測試出來一個準確的值,程文把來自之前加到電腦上的系統(tǒng)30G內存給下掉了,,新得到的5G內存他還沒有分配,。
之前加了這些內存之后,啟動程度快了不少,,但是編譯速度提升的不是特別明顯,,程文想只用系統(tǒng)本身的一些資源來看看這個優(yōu)化能到什么程度。
之前程文記得打開這個軟件需要6秒,,后來用了系統(tǒng)給的內存之后,,打開軟件和項目的時間平均用時縮短到了2秒,。
再之后,,用上更多的內存并不見有什么效果,程文感覺可能是這個軟件用不了太多的內存,,再多的內存也不可能讓他的速度再提升,,除非是預先把要加載的項目都加到內存中。
但是這有一個問題,,這個軟件又不知道你要提前加載哪個項目,,再說了,浪費那個內存還不如把內存用到其它更實用的地方,。
畢竟打開項目這個操作又不是經常性的,,只是在開發(fā)的時候單次的,一天可能就打開一次,,甚至全職的mac軟件開發(fā)人員可能這個軟件打開后就一直不關閉,,可能是基于這個考慮,他們沒有怎么去優(yōu)化這個打開速度吧,。
不過程文覺得他們可能是優(yōu)化不了,。
這一次程文再次試了下這個軟件的打開速度,重啟了一次電腦,,來了一次冷啟動,。
程文懷疑自己看錯了,因為在他點擊那個軟件的瞬間,,就已經啟動了,。
應該用時不到一秒,什么時間這樣大的軟件啟動的速度也可以這么快了,。
程文感覺到不可思議,。
接著他打開了一個項目,也是秒開。
amazing,,unbelievable……
程文看了下面的狀態(tài)欄,,確實沒有正在進行的操作,這說明這個是真的完全打開了,。
之前他也試過,,有的軟件是ui快速打開,還有在后臺跑的任務去建立索引什么的,。
你看文件的內容是沒有什么問題的,,但是在開發(fā)中,有的時候會根據一個方法名字中轉到他的定義,,有時跳轉會有問題,。
這就是因為軟件還沒有完全把這個項目加載全,只是把他的本地的目錄給加過來了,。
再試了一下編譯,,也是一秒就好了。
快的讓程文都產生了一個錯覺,,他懷疑自己是不是寫錯了什么東西,。
因為以往的經驗告訴他,如果一個軟件平時運行的編譯的很長時間,,突然有一次編譯特別快,,通常情況下,是編譯有錯,,或者是代碼和之前大不一樣了,,比如只有一行,不需要花費那么長的時間了,。
但是他新建了一個腦圖,,發(fā)現(xiàn)他的腦圖可能建立成功,也能保存,,也能打開之前保存的,。
程文又看了看這個軟件,發(fā)現(xiàn)他的功能還是那些功能,,并沒有多也沒有少,。
這個優(yōu)化應該只是優(yōu)化現(xiàn)有的功能,把慢的地方給加快了,,需要吃很多資源的地方給優(yōu)化的不需要那么多的資源了,。
“這個很不錯,不過,,能不能給其它人用呢,?”程文有了這個想法之后,就把整個軟件的目錄打了個包。
然后轉給了陸丹雪一份,,讓她試驗了一下,,果然在她那里也是秒開。
不過之所以能這么搞,,也是因為mac電腦上的軟件隔離的比較好,,涉及到的所有文件都在是一起的。
程文有一個想法,,他想把這個優(yōu)化之后的軟件發(fā)給蘋果公司的人,。
畢竟這么好用的東西,應該讓廣大的開發(fā)者都享受到,,而不是只有他自己用,。
說干就干,程文找到了蘋果的一個郵件,,就把這個給發(fā)了過去,,還在里面說明了這個軟件經過了優(yōu)化,優(yōu)化后有多好多好,。
埃迪班森是一直負責蘋果公司郵件的工作人員之一,,程文的郵件剛好是他負責,。
剛收到郵件他就愣了,,因為程文是用的中文寫的,所以他看不懂,。
找了個翻譯軟件把內容翻譯成了英文,,他這才看懂程文的意思了。
上面說里面有一個附件,,是改版后的xcode,。
他看到這個沒有當回事,畢竟如果通過正常的認知,,優(yōu)化一個軟件,,需要拿到這個軟件的源代碼,而程文應該是沒有機會拿到源代碼的,。
所以他認為程文一定是在撒謊,。
不過看到那么大的附件,他也沒有讓程文的努力白費,,把這個郵件轉給了xcode相關的人,。
負責xocde的博福特安迪也看到了這個郵件,其實他的看法和埃迪班森是一樣的,,但是他不知道什么原因,,下載了這個軟件試了一下。
試過之后,他發(fā)現(xiàn)自己回不去了,,再試試官方正版的軟件,,總感覺程文發(fā)的這個才是正版,沒有見過盜版軟件比正版還好用的,。
那會不會是因為像有的盜版那樣,,把一個軟件所有的功能模塊都給了解了,然后只是保留了最核心的功能,。
但是博福特安迪測試了軟件的所有功能,,發(fā)現(xiàn)功能并沒有少。
運行的時候占用的資源少,,啟動和編譯的速度快,,安裝包也小了不少,這樣更方便它在網絡上傳輸,,他還發(fā)現(xiàn)了其它的特點,,有的功能還被增強了,比如那個智能提示,,還有智能找錯的功能,。
這讓他非常不解,對方是怎么在沒有源碼的情況下做到這些的,。
難道已經反編譯了所有的代碼,?
不可能,這么大的軟件,,如果進行反編譯,,那需要的工程量是巨大的。
他說的反編譯是根據一個可執(zhí)行的比如exe文件,,編譯出來源代碼,。
這個過程還是比較難的。
除了想到這個他還想到的是,,程文可能手里有源代碼,,這個源代碼可能是別人泄露出去了。
但是如果是別人泄露出去了,,程文拿到這個代碼,,就算是進行了優(yōu)化,也不敢直接投遞過來,。
因為這其實已經違反了軟件的著作權,,說白了這本身就是違法的行為。
想到這里他就找到了程文的郵箱地址,,給他回了一個郵件,。
他寫的是英文,,但是發(fā)的時候翻譯成了中文,他覺得這樣程文更加能看到的懂,,是對程文的一種尊重,。
程文其實發(fā)了那個郵件之后就沒有再關心過這個了,他覺得后面的問題和他的關系不大,。
蘋果那邊用不用這個軟件是他們的事情,,反正已經把優(yōu)化后的軟件發(fā)給他們了。