欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    “六年以來,我一直堅持使用 Windows 開發最適合在 Linux 上運行的應用程序,因為我習慣了使用 Windows,而習慣很難打破——以前我并不是十分清楚我為之付出的代價,但數據表明,是時候做出改變了!”

    作者 | Sam Saffron

    譯者 | 彎月

    責編 | 郭芮

    出品 | CSDN(ID:CSDNnews)

    以下為譯文:

    最近,我的這篇推文頗受歡迎:

    https://twitter.com/samsaffron/status/1111511735851081728

    我們測試了一下在各種開發機器上運行Discourse的Ruby測試所需的時間,我用亮色標出了我的結果,難以置信這么多年來我堅持使用Windows付出了如此大的代價。

    這篇推文引起了很多人的強烈反應。有人說:“Sam,你個呆瓜,這算哪門子的測試基準?”,也有人說:“這個故事說明MacOS運行Ruby的性能很差。”,也有人只是說了一句:“天啊,不會吧。”

    我想表明的主要觀點是:我為“堅持使用Windows”付出了慘重代價。當然,這中間隱藏的其他一些點也值得討論。

    為什么你堅持在Windows的虛擬機中運行Linux?

    以前我并不知道我會隨時為使用虛擬機付出代價,我的電腦上從來沒有配置過雙啟動,所以我沒有適當的參考。

    我非常堅信,許多Ruby / Rust / Go / Elixir / Scala,甚至是一些Node開發人員,他們都使用了WSL,或者在虛擬機上運行Linux,或者在Windows上使用Linux Docker做開發,他們肯定也不清楚其中的代價。

    以我的機器為例,WSL會導致日常運行速度下降25%,而使用基于VM的虛擬系統會導致速度降低38%。

    我并不是唯一一個遭受這種損失的人,我們團隊中的其他人也經歷了相同的速度下降,而且外面有很多人也有類似的經歷。

    在內心深處,我一直天真地希望我所看到的性能下降很小。如果你搜索一下Google,也會得到相同的答案。用不用虛擬機并不重要,只會造成5-10%的性能差異。也許我只是忽略了一些關鍵的BIOS設置,也許我需要直接掛載卷,而不是在專用的NVMe Samsung 960 pro上使用vmdk,也許我可以通過一些其他的手段來實現1-5%。也許Hyper-V更好,但我不確定。我所知道的是,我并不是唯一一個這樣想的人。

    我無法使用WSL,因為根據WSL團隊的文檔,Ruby中的大量小文件和大量stats調用的性能非常差。有多差呢?作為比較的基準,在WSL上運行rails c控制臺(不使用bootsnap)至少需要30秒。同樣的操作在Linux上(不使用bootsnap)只需要4-5秒。即使采用了一切規避手段,如此糟糕的IO性能也很顯眼。實際上,我寧愿使用速度減慢38%的虛擬機,因為至少一切都是始終如一的,不像WSL那樣各方面的性能非常不均衡。在開發過程中,快速啟動控制臺或Web服務器至關重要。短時間內Fuse也不太可能實現,所以也沒辦法通過掛載塊設備的方式來規避這個問題。

    所以,我只能堅持使用虛擬機,這樣我不需要反復重啟電腦,所以我以為代價不會太高。

    我喜歡Windows 10的字體渲染,我喜歡HiDPI支持,我喜歡在Windows上使用Lightroom,我還要在Windows上玩Rocksmith。我喜歡它提供的開箱即用的體驗,只需要最低限度的定制。我喜歡在啟動Skype時不會由于LD_PRELOAD jemalloc而產生段錯誤。我感覺Windows 10是最好的窗口管理器(對于我的使用而言),遠遠超過我的Macbook Pro上運行的MacOS。

    雙啟動是個折中方案,有些東西最好在Windows上運行。我認為我以性能的代價換來了使用一個“熟悉”的OS時獲得的便利性,這也算物有所值。

    我感覺如果我不得不啟動Linux,就需要處理各種各樣的驅動和穩定性問題,而不是擁有開箱即用的一套工具。

    我喜歡安于現狀,我這個人生平最不喜歡改變。

    2019年是Linux桌面系統年嗎?

    這個笑話的起因是:每年都會有一群人開玩笑說今年會是Linux桌面系統年,年年如此。剛開始時總有人說:“最近Linux的發展形勢大好,今年是不是可以作為Linux桌面系統年了?”然后就會有一堆歡樂的嘲諷,還有哈哈……別再犯傻了……今年不會是Linux桌面系統年等等。

    久而久之,這種笑話就傳播開了……

    一般來講,這些笑話都沒有惡意,而且不久就會平息。但是,這個笑話有個巨大的副作用,甚至會對開發人員產生重大影響——不使用Linux作為桌面系統的開發人員會對Linux產生恐懼心理,即便他們的產品在Linux(而不是MacOS或Windows)上運行,他們也會懼怕Linux。

    而我個人也曾被驅動、字體渲染、HiDPI支持、多顯示器支持等東西嚇怕了,所以從來沒有嘗試過Linux。

    實際上,我的害怕并不是沒有道理,運行Linux很麻煩。在努力了4~8小時之后,我還是想放棄,因為Linux上的Firefox仍然有一個嚴重的問題——默認情況下不支持硬件加速,所以翻頁非常卡。這個簡單的問題就足以讓我放棄Linux。如果網頁無法平滑滾動,那我就不會使用Linux。幸運的是,這個問題只需要在about:config中修改一個值即可。

    NVIDIA在Linux上的情況也不妙。Linux桌面系統的未來是Wayland。而我想要嘗試的窗口管理器sway只有在使用開源社區提供的nouveau驅動時才能正常工作。就連讓NVIDIA正常工作都需要啟用硬件組合還要修改X11配置。

    我不認為Linux今年能夠席卷全球。它沒有那么重要。但如果你渴望最佳的性價比,想要在開發Discourse或任何Ruby on Rails應用時獲得最佳的性能,那么就不要使用虛擬機,在筆記本上安裝Linux桌面系統才是你的最佳選擇。

    此外,還有一個重要的問題:我在切換到Linux時選擇了一條比較困難的途徑——我距離從源碼安裝Linux只有兩步之遙。

    與我有類似經歷的同事從Windows/Mac切換到Linux,并堅持使用Ubuntu和Linux Mint,他們說切換的過程非常順暢。

    你嘗試過在Windows上運行Ruby嗎?

    幾天前這個問題引發了許多討論。

    這個人想說明,如果Ruby能夠在原生Windows上順暢地運行,那么就可以大幅增加Ruby的接受程度,并且可以防止人們轉向其他框架。因為安裝一個全新的OS是很高的門檻,只是說“安裝Linux”并不能解決問題。

    而現實是,在Windows上運行MRI Ruby有兩個重大的根本性問題:

    • Windows上的NTFS文件系統性能十分不適合目前的Ruby設計。我們喜歡Ruby的一大堆小文件,我們喜歡大量的stats調用。
    • 將各種依賴包移植到原生Windows(并維護它們)需要巨大的工作量,因為Discourse的許多依賴根本不支持Windows。gem完全無法安裝。根本性的問題是,你必須要付出額外的工作在gem中編寫C語言擴展,才能在Windows上運行。而在絕大多數情況下,在MacOS或者Linux上運行根本不需要任何額外的工作。

    第二個問題很容易解決,但考慮到WSL提供的兼容性遠遠超過了Windows本身,如果文件系統問題能有合理的解決方案(這個問題至關重要,而且Windows下這個問題必然存在),那么可能就不需要大費周折了。Discourse在WSL上運行得很好(只要你不跑unicorn),但在Windows原生的Ruby下完全不能運行。蘋果的代價與Windows WSL的代價類似(除了文件系統性能問題之外)。

    我認為,只要WSL能再優化一些,就足以媲美目前的Mac了。

    蘋果的性能代價

    從上述性能測試圖中不難看出,蘋果的性能代價也很嚴重。

    仔細觀察一下UserBenchmark: Intel Core i7-8559U vs i7-8750H。我們以為8559U的單核性能遠超8750H,但是,這臺裝了Linux的8750H筆記本只用了9分13秒,遠勝Macbook Pro的15分16秒。從中可以看出MacOS的性能很差。而且并不僅僅是我一個人有這種看法:

    似乎人們堅持認為原生的MacOS體驗正是在Mac上開發Ruby on Rails時需要付出的代價。

    我知道DHH非常喜歡iMac Pro并極其推薦。

    沒錯,它的硬件非常優秀,屏幕非常漂亮,機器本身也非常好。窗口管理器也很不錯,也沒有驅動問題。但很不幸的是,在MacOS上進行Ruby on Rails開發依然需要付出不可忽視的代價。

    我認為Ruby社區應該調查一下這個問題,記錄該問題的各個方面,看看能不能有所改進,讓Darwin的性能接近Linux的性能。這個問題是源自文件系統?操作系統?Ruby使用的llvm編譯器?還是MacOS的安全特性?是否跟Spectre+Meltdown有關(這個問題在Linux上已經打過補丁了)?目前來看原因依然不明朗。

    因此,如果你在Mac上雙啟動安裝Windows,然后安裝WSL,通過Mac+Windows+WSL的方式在運行 Discourse測試套件時獲得更好的性能,我完全不會感到意外。而且我敢打賭你肯定會這么做。

    所以,如果遇到有人說:“還有一個辦法,安裝黑蘋果就好了”。你可以告訴他們,這樣做不僅在每一次MacOS系統更新時你都需要冒險,而且也同樣要付出與Windows類似的代價。

    并行測試怎么樣?

    Rails 6馬上就要發布了,這是Rails首次擁有官方支持的并行測試。我在Linux系統上運行Discourse的測試時,整個過程用了8分鐘,期間CPU的使用率不足10%,IO也沒有達到飽和。

    所以,當我得知在Windows機器的虛擬機中,即使性能下降了38%,并行運行也能在兩分鐘內跑完測試時,我感到十分震驚。

    所以,前面大費周折,卻放著這么明顯的問題視而不見,這不是很奇怪嗎?

    我完全同意,Rails的并行測試非常出色,相信很多開發人員都會非常高興。

    此外,對測試套件進行性能評測,同時干掉速度過慢的測試用例也十分重要。

    我們將在開發環境中采用并行測試。

    但這不是重點。我面臨的問題在于,一直以來我的機器的運行速度都被鉗制,所以就算測試的運行速度非常快,放到我的機器上依然無法發揮到極致。

    今后的選擇

    目前,我對家里的Arch Linux很滿意。現在不僅程序運行速度加快了,而且由于我使用的窗口管理器遠勝mac或Windows,我的工作效率也有所提高。當然代價還是有的,以前使用Windows時不需要考慮的很多問題,如今都需要解決,但是回報也十分豐厚。

    長期以來我一直在使用i3wm,但從來沒能下決心在兩個窗口管理器中做出抉擇。如今i3是我唯一的選擇,我從中也獲得了豐厚的回報。我的計劃是每隔幾個月就嘗試不同的平鋪式窗口管理器,直到找到最適合我的那個。

    6年以來,我一直在堅持使用Windows開發最適合在Linux上運行的應用程序,因為我習慣了使用Windows,習慣很難打破。以前我并不是十分清楚我為之付出的代價,而且我覺得許多開發人員也跟我一樣。

    我只有一條建議,那就是……不要害怕嘗試。Linux的桌面系統越做越好了,在硬盤上劃一個分區出來做成雙啟動也十分容易。如果你和我一樣在兩個世界之間舉棋不定,特別是如果你使用的是臺式機而不是筆記本,那么還是建議你嘗試一下。

    歡迎留言分享你的評測結果和經驗。希望看到更多在同一臺機器上比較MacOS和Linux的評測結果,以及Windows+WSL/虛擬機和Linux的評測結果。

    原文:https://samsaffron.com/archive/2019/03/31/why-i-stuck-with-windows-for-6-years-while-developing-discourse

    本文為CSDN翻譯,轉載請注明來源出處。

    這是我第三次來參加Google I/O大會,大會最不可錯過的重要環節就是第一天上午的Keynote,所以我們早早起來在舊金山夏日的寒風中排隊,去占一個比較好的位置。

    和國內會議最大的不同是,I/O Keynote的會前暖場互動很好玩,每次都有不同的花樣,這次是兩個哥們在會議的環繞大屏幕上玩最古老的乒乓球游戲。暖場結束就進入了別出心裁的倒計時動畫,倒計時數字跳到0之后,大會正式開始。

    Keynote主要是公布Google在這一年來最重大的一些創新和進展。每次在現場聽Keynote環節都會有點感動,這次也不例外,因為從Keynote中能感受到Google這家公司的偉大愿景,以及為了達成愿景所作的努力,在這個過程中很多原來顯得很科幻的科技,已實實在在改變人們的日常生活。比如Google Now和Google Photo中的人工智能,讓機器可以更加懂得和理解人類所需;而Android Everywhere將會讓越來越多的設備智能化并接入網絡,從而讓整個世界變得更加智能;Cardboard以一個低成本的方式,讓更多人能使用到VR技術,在游戲、教育等很多領域都能有廣泛的應用。

    作為一款基于Android平臺面向海外市場的APP琥珀天氣的開發者,我們最關注的是Google在移動端的創新和生態的發展。這次Android生態最大的變化就是Android M的發布,Android M在UI和交互上并沒有很大的變化,繼續Material Design設計語言,但Android M引入的新特性對應用開發者影響比較大的有兩個。

    1. 第一個是APP的權限機制,權限不再是在安裝的時候讓用戶確認,而是APP在需要用到某個權限時讓用戶來確認。我認為這個機制是對Android系統安全性的一個重大提升,對于開發者來說,需要更加注意APP的權限的使用,和應用業務無關的權限有可能被用戶質疑和拒絕。所以我建議開發者好好的檢查下自己應用權限使用情況,在滿足業務需求的前提下,盡量去最小化權限的使用,慎用敏感的權限。
    2. 第二個是Chrome Custom Tab,也就是把Chrome嵌入APP里面。對比原來的webview技術,它一方面性能有所提升;另一方面功能也更加強大,比如密碼自動填充,還有可以通過連接直接跳轉到連接相關聯的APP。

    除了Android系統以外,開發工具方便也值得開發者關注,這次發布的Android Studio 1.3新版本帶來了更快的編譯速度,以及對C++開發的支持。新發布的Polymer工具可以幫助Web開發者構建類似于APP交互體驗的Web頁面。

    此外,Android Wear和Cardboard也值得開發者跟進,從而提供更好的產品交互體驗,琥珀天氣就提供了對Android Wear的初步支持,天氣信息會被推送到手表上。游戲和教育品類的產品開發者可以嘗試Cardboard SDK,從而可以給用戶提供沉浸式的體驗。

    最后,值得一提的是,在會場的站臺當中,有一個很大的Material Design的區域,專門給開發者提供Material Design的現場Review咨詢和建議。我們的經驗來看,我們對琥珀天氣進行Material Design設計之后,產品的用戶體驗得到了巨大的提升,用戶評分大大提升。所以我們建議還沒有跟進的開發者們盡快跟進Material Design設計。

    Google IO第一天過去了,期待第二天更多的精彩內容。

    個人介紹:湯城,琥珀天氣創始人,之前作為國內最早的出海團隊之一INFOLIFE的聯合創始人參與打造過總下載量超過一億的系統優化產品矩陣。

    《暢言》第四十六期:【[暢言]雄獅效應與在歧路上狂奔的微軟】Windows 10在這幾天引發了很大關注,那它會不會成功呢?李智勇認為,這款產品可能不會有起色,原因不在于產品做的不夠好,而是產品方向出了問題,將兩個不同界面糅合在一起,會產生雄獅效應,兩個界面間會產生沖突。

    《暢言》第四十七期:【[暢言]Apple Watch會不會是下一個Google Glass】再過幾天,蘋果就要正式發布Apple Watch了。在這個節點上,很多人一方面在期待著早點揭幕,另一方面也有不少人利用僅有的信息對Apple Watch進行各種猜測。李智勇則撰寫了篇文章,對其命運、成功地大小進行了評論。

    《暢言》第四十八期:【[暢言]WinHec啟示錄:透過Windows 10技術布局,談微軟王者歸來】微軟曾通過兩個產品稱霸兩個時代,一個是Windows 95讓微軟成為PC時代的王者,另外一個是Windows XP讓微軟成為互聯網時代的王者。而通過WinHec大會技術和平臺布局來看,Windows 10或讓微軟成為物聯網時代的王者。

    《暢言》是CSDN品牌欄目,供大家各抒己見。只要你看完CSDN文章或評論后有話說,都可以通過電子郵件(zhangyong#csdn.net或zhangyong#outlook.com,請把#改成@)投稿,從而獲得上CSDN首頁表達自己觀點、想法的機會。《暢言》不怕觀點“雷人”,只要你邏輯表達清楚、數據引用可靠,你敢投稿,我們就敢首頁!歡迎大家暢所欲言。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有