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