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