Windows'u altı yıl kullandıktan sonra pişmanım |

"Altı yıldır, Linux üzerinde çalışmaya en uygun uygulamaları geliştirmek için Windows'u kullanmakta ısrar ediyorum, çünkü Windows kullanmaya alışkınım ve alışkanlığı kırmak zor - önce ödediğim fiyat konusunda çok net değildim ama veriler Değişiklik yapma zamanının geldiğini gösterin! "

Yazar | Sam Saffron

Tercüman | Hilal Ay

Baş Editör | Guo Rui

Üretildi | CSDN (ID: CSDNnews)

Aşağıdaki çeviridir:

Son zamanlarda tweet'im oldukça popüler:

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

Discourse'un Ruby testini çeşitli geliştirme makinelerinde çalıştırmak için gereken süreyi test ettik. Sonuçlarımı parlak renklerle vurguladım.Windows'u yıllarca kullanmaya devam ettiğim için bu kadar yüksek bir bedel ödemiş olmam inanılmaz.

Bu tweet birçok kişiden sert tepkilere neden oldu. Biri dedi ki: "Sam, seni aptal, bu nasıl bir kriter?" Diğerleri: "Bu hikaye, Ruby çalıştıran MacOS'un performansının çok zayıf olduğunu gösteriyor." Diğerleri sadece şöyle dedi: "Aman Tanrım, hayır Yapacağım."

Söylemek istediğim ana nokta şudur: "Windows'a bağlı kalmak" için ağır bir bedel ödedim. Elbette ortada saklı olan diğer bazı noktalar da tartışılmaya değer.

Linux'u bir Windows sanal makinesinde çalıştırmakta neden ısrar ediyorsunuz?

Herhangi bir zamanda bir sanal makine kullanmak için para ödeyeceğimi bilmiyordum. Bilgisayarımda çift önyükleme hiçbir zaman yapılandırılmadı, bu yüzden uygun bir referansım yok.

Pek çok Ruby / Rust / Go / Elixir / Scala, hatta bazı Node geliştiricilerinin hepsinin WSL kullandığına veya Linux'u sanal bir makinede çalıştırdığına veya Windows üzerinde geliştirme için Linux Docker kullandığına çok inanıyorum. Maliyetini bilin.

Örnek olarak makinemi ele alalım, WSL günlük çalışma hızının% 25 düşmesine neden olacak ve VM tabanlı sanal sistemlerin kullanımı hızın% 38 düşmesine neden olacak.

Bu tür kayıpları yaşayan tek kişi ben değilim Ekibimizdeki diğerleri aynı oranda düşüş yaşadı ve dışarıdaki birçok insan benzer deneyimler yaşadı.

Derinlerde, gördüğüm performans düşüşünün asgari düzeyde olduğunu her zaman safça ummuşumdur. Google'da arama yaparsanız, aynı cevabı alırsınız. Sanal makine kullanıp kullanmamanız önemli değil, sadece% 5-10 performans farkına neden olacaktır. Belki bazı önemli BIOS ayarlarını görmezden geldim, belki de özel NVMe Samsung 960 pro'da vmdk kullanmak yerine birimi doğrudan bağlamam gerekiyor, belki başka yollarla% 1-5 elde edebilirim. Belki Hyper-V daha iyidir, ama emin değilim. Bildiğim, bu şekilde düşünen tek kişinin ben olmadığım.

WSL'yi kullanamıyorum çünkü WSL ekibinin belgelerine göre, Ruby'de çok sayıda küçük dosyanın ve çok sayıda istatistik çağrısının performansı çok zayıf. Ne kadar kötü Karşılaştırma için bir kıyaslama olarak, WSL'de rayları c konsolunu (sabitleme olmadan) çalıştırmak en az 30 saniye sürer. Linux'ta aynı işlem (bootsnap kullanılmadan) yalnızca 4-5 saniye sürer. Tüm atlatma yöntemlerinde bile, bu kadar kötü IO performansı çok dikkat çekicidir. Aslında,% 38 daha yavaş bir sanal makine kullanmayı tercih ederim, çünkü her yönden çok dengesiz bir performansa sahip olan WSL'nin aksine en azından her şey tutarlı. Geliştirme süreci sırasında, konsolu veya web sunucusunu hızlı bir şekilde başlatmak önemlidir. Sigortanın kısa sürede uygulanması pek olası değildir, bu nedenle blok cihazları monte ederek bu sorunu aşmanın bir yolu yoktur.

Bu nedenle, sadece sanal makineyi kullanmakta ısrar edebilirim, böylece bilgisayarı tekrar tekrar başlatmam gerekmiyor, bu yüzden fiyatın çok yüksek olmayacağını düşünüyorum.

Windows 10'da yazı tipi oluşturmayı seviyorum, HiDPI desteğini seviyorum, Windows'ta Lightroom'u kullanmayı seviyorum ve ayrıca Windows'ta Rocksmith oynamak istiyorum. Minimum özelleştirme gerektiren, kullanıma hazır deneyimi seviyorum. Skype'ı başlatırken LD_PRELOAD jemalloc nedeniyle hiçbir segfault oluşmamasını seviyorum. Windows 10'un (benim kullanımım için) en iyi pencere yöneticisi olduğunu ve Macbook Pro'mda çalışan MacOS'u çok geride bıraktığını düşünüyorum.

Çift önyükleme bir uzlaşmadır ve bazı şeyler en iyi Windows'ta çalıştırılır. Sanırım "tanıdık" bir işletim sistemini kullanmanın rahatlığını performans pahasına sattım ki bu da buna değer.

Linux'u başlatmam gerekirse, kutudan çıkan bir takım araçlara sahip olmak yerine çeşitli sürücü ve kararlılık sorunları ile uğraşmam gerektiğini hissediyorum.

Statükoya razı olmayı seviyorum ve en azından hayatımdaki değişikliği seviyorum.

2019, Linux masaüstü sistemleri yılı mı?

Bu şakanın nedeni, her yıl bir grup insanın bu yılın her yıl Linux masaüstü sistemi yılı olacağı konusunda şaka yapmasıdır. Başlangıçta birisi her zaman şöyle derdi: "Son zamanlarda Linuxun gelişme durumu çok iyi. Bu yıl bir Linux masaüstü sistemi mi olacak?" O zaman pek çok neşeli alay konusu olacak ve haha ... Bir daha aptal olma ... Linux masaüstü sistemi yılı vb.

Zamanla bu şaka yayıldı ...

Genel olarak konuşursak, bu şakalar kötü niyetli değildir ve yakında geçecektir. Bununla birlikte, bu şakanın çok büyük bir yan etkisi vardır ve Linux'u bir masaüstü sistemi olarak kullanmayan geliştiriciler üzerinde önemli bir etkisi bile olabilir, ürünleri Linux'ta (MacOS veya Windows değil) olsa bile, Linux korkusu yaşayacaktır. Koşun, Linux'tan da korkacaklar.

Şahsen, sürücüler, yazı tipi oluşturma, HiDPI desteği, çoklu monitör desteği gibi şeylerden korktum, bu yüzden Linux'u hiç denemedim.

Aslında, korkum mantıksız değil, Linux çalıştırmak zahmetli. 4 ~ 8 saatlik sıkı çalışmadan sonra, hala vazgeçmek istiyorum çünkü Linux'ta Firefox hala ciddi bir soruna sahip - donanım hızlandırma varsayılan olarak desteklenmiyor, bu nedenle sayfa çevirme çok sıkıştı. Bu basit soru beni Linux'tan vazgeçirmek için yeterli. Web sayfası sorunsuz bir şekilde kaydırılamazsa, o zaman Linux kullanmam. Neyse ki, bu sorunun yalnızca about: config'deki bir değeri değiştirmesi gerekiyor.

NVIDIA, Linux'ta pek iyi durumda değil. Linux masaüstü sistemlerinin geleceği Wayland'dır. Denemek istediğim pencere yöneticisi, yalnızca açık kaynak topluluğu tarafından sağlanan nouveau sürücüsünü kullanırken düzgün çalışabilir. NVIDIA'nın düzgün çalışması için bile, donanım kombinasyonunu etkinleştirmeniz ve X11 yapılandırmasını değiştirmeniz gerekir.

Linux'un bu yıl dünyayı kasıp kavuracağını sanmıyorum. O kadar önemli değil. Ancak, en iyi fiyat / performans oranını istiyorsanız ve Discourse veya herhangi bir Ruby on Rails uygulamasını geliştirirken en iyi performansı istiyorsanız, o zaman bir sanal makine kullanmayın.Dizüstü bilgisayarınıza bir Linux masaüstü sistemi kurmak en iyi seçimdir.

Ayrıca önemli bir sorun daha var: Linux'a geçerken daha zor bir yol seçtim - Linux'u kaynaktan yüklemeye sadece iki adım uzaktaydım.

Benimle benzer deneyimler yaşayan meslektaşlarım Windows / Mac'ten Linux'a geçtiler ve Ubuntu ve Linux Mint kullanmakta ısrar ettiler ve geçiş sürecinin çok sorunsuz olduğunu söylediler.

Ruby'yi Windows'ta çalıştırmayı denediniz mi?

Bu soru birkaç gün önce pek çok tartışmayı ateşledi.

Bu kişi, Ruby yerel Windows üzerinde sorunsuz bir şekilde çalışabilirse, Ruby'nin kabulünü büyük ölçüde artırabileceğini ve insanların diğer çerçevelere dönmesini engelleyebileceğini açıklamak ister. Yepyeni bir işletim sistemi kurmak yüksek bir eşik olduğundan, sadece "Linux kur" demek sorunu çözmez.

Gerçek şu ki, Windows'ta MRI Ruby çalıştırmanın iki temel sorunu vardır:

  • NTFS dosya sisteminin Windows üzerindeki performansı, mevcut Ruby tasarımına uygun değildir. Ruby'deki birçok küçük dosyayı seviyoruz ve pek çok istatistik çağrısını seviyoruz.
  • Discourse'un bağımlılıklarının çoğu Windows'u desteklemediğinden, çeşitli bağımlılık paketlerini yerel Windows'a taşımak (ve bunları sürdürmek) büyük miktarda çalışma gerektirir. Mücevher hiç kurulamaz. Temel sorun, Windows'ta çalıştırmak için gem'e C dili uzantıları yazmak için fazladan iş ödemeniz gerektiğidir. Çoğu durumda, MacOS veya Linux üzerinde çalışmak herhangi bir ek çalışma gerektirmez.

İkinci sorunun çözülmesi kolaydır, ancak dosya sistemi sorununa makul bir çözüm varsa (bu sorun çok önemlidir ve bu sorun Windows altında mevcut olmalıdır) WSL tarafından sağlanan uyumluluğun Windows'un kendisinden çok daha fazla olduğu düşünüldüğünde, o zaman Belki çok fazla gitmenize gerek yoktur. Söylem WSL'de çok iyi çalışır (tek boynuzlu atı çalıştırmadığınız sürece), ancak Windows yerel Ruby altında hiç çalışamaz. Appleın fiyatı Windows WSLye benzer (dosya sistemi performans sorunları hariç).

WSL optimize edilebildiği sürece mevcut Mac ile karşılaştırılabilir olacağını düşünüyorum.

Apple'ın performans fiyatı

Yukarıdaki performans testi tablosundan Apple'ın performans maliyetlerinin de çok ciddi olduğunu görmek zor değil.

UserBenchmark'a daha yakından bakın: Intel Core i7-8559U - i7-8750H. 8559U'nun tek çekirdekli performansının 8750H'nin çok ötesine geçtiğini düşündük, ancak Linux'lu bu 8750H dizüstü bilgisayar, Macbook Pro'nun 15 dakika 16 saniyesinden çok daha iyi olan sadece 9 dakika 13 saniye sürdü. MacOS'un performansının çok düşük olduğu görülebilir. Ve bu görüşe sahip olan sadece ben değilim:

Görünüşe göre insanlar Mac'te Ruby on Rails'i geliştirirken yerel MacOS deneyiminin ödenmesi gereken bir bedel olduğunda ısrar ediyorlar.

DHH'nin iMac Pro'yu çok sevdiğini ve kesinlikle tavsiye ettiğini biliyorum.

Evet, donanımı çok iyi, ekranı çok güzel ve makinenin kendisi çok iyi. Pencere yöneticisi de çok iyi ve sürücü sorunu yok. Ne yazık ki, MacOS'ta Ruby on Rails geliştirmesi hala göz ardı edilemeyecek bir fiyat gerektiriyor.

Ruby topluluğunun bu sorunu araştırması, sorunun tüm yönlerini belgelemesi ve Darwin'in performansını Linux performansına yaklaştırmak için iyileştirilip iyileştirilemeyeceğini görmesi gerektiğini düşünüyorum. Bu sorun dosya sisteminden mi kaynaklanıyor? işletim sistemi? Ruby tarafından kullanılan Llvm derleyicisi? Veya MacOS'un güvenlik özellikleri? Spectre + Meltdown ile ilgili mi (bu sorun Linux'ta yamalandı)? Şu anda nedeni hala belirsiz.

Bu nedenle, Windows'u bir Mac'e çift önyükleme ile yüklerseniz ve ardından WSL yüklerseniz, Discourse test paketini Mac + Windows + WSL aracılığıyla çalıştırırken daha iyi performans elde etmek beni hiç şaşırtmayacaktır. Ve eminim yapacaksın.

Bu nedenle, birisi "Başka bir yol var, sadece siyah bir elma yükleyin" derse. Onlara MacOS sistemi her güncellendiğinde risk almanız gerektiğini değil, aynı zamanda Windows'a benzer bir bedel ödemesi gerektiğini de söyleyebilirsiniz.

Paralel teste ne dersiniz?

Rails 6 yakında piyasaya sürülecek Bu, Rails'in resmi olarak desteklediği ilk paralel testtir. Bir Linux sisteminde Discourse testini çalıştırdığımda, tüm süreç 8 dakika sürdü, bu sırada CPU kullanımı% 10'dan azdı ve IO doygunluğa ulaşmadı.

Yani Windows makinenin sanal makinesinde performans% 38 düşse bile paralel işlemin testi iki dakikada çalıştırabileceğini öğrendiğimde şok oldum.

Öyleyse, çok fazla sıkı çalışmadan geçip bu kadar bariz sorunlara göz yummamız tuhaf değil mi?

Rails'in paralel testinin mükemmel olduğuna tamamen katılıyorum ve birçok geliştiricinin çok mutlu olacağına inanıyorum.

Ek olarak, test paketinin performansını değerlendirmek ve çok yavaş olan test durumlarını ortadan kaldırmak da çok önemlidir.

Geliştirme ortamında paralel testi kullanacağız.

Ama konu bu değil. Karşılaştığım sorun, makinemin çalışma hızının sabitlenmiş olması, bu nedenle testin çalışma hızı çok hızlı olsa bile, makinemde hala aşırı derecede kullanılamıyor.

Gelecek seçenekler

Şu anda evde Arch Linux'tan çok memnunum. Artık sadece programın çalışma hızı hızlandırılmadı, aynı zamanda kullandığım pencere yöneticisi Mac veya Windows'tan çok daha iyi olduğu için iş verimliliğim de arttı. Elbette bir bedeli var.Geçmişte Windows kullanırken göz önünde bulundurulmayan birçok sorunun şimdi çözülmesi gerekiyor, ancak ödüller de çok cömert.

Uzun zamandır i3wm kullanıyorum, ancak iki pencere yöneticisi arasında bir seçim yapmaya hiç kararlı olmadım. Şimdi i3 tek seçeneğim ve bundan büyük ödüller de aldım. Planım, bana en uygun olanı bulana kadar birkaç ayda bir farklı kiremitli pencere yöneticilerini denemektir.

6 yıldır, Linux üzerinde çalışmaya en uygun uygulamaları geliştirmek için Windows'u kullanmakta ısrar ediyorum, çünkü Windows kullanmaya alışkınım ve alışkanlığı kırmak zor. Daha önce ödediğim fiyat konusunda çok net değildim ve sanırım birçok geliştirici de benim gibi.

Tek bir önerim var ve bu ... denemekten korkmayın. Linux masaüstü sistemi gittikçe daha iyi hale geliyor.Ayrıca çift önyükleme yapmak için sabit diskte bir bölüm oluşturmak da çok kolay. Benim gibi iki dünya arasında kararsızsanız, özellikle dizüstü bilgisayar yerine masaüstü kullanıyorsanız, denemenizi öneririm.

Değerlendirme sonuçlarınızı ve deneyiminizi paylaşmak için bir mesaj bırakmaya hoş geldiniz. Aynı makinede MacOS ve Linux'u karşılaştıran daha fazla değerlendirme sonucunun yanı sıra Windows + WSL / sanal makine ve Linux'un değerlendirme sonuçlarını görmeyi umuyoruz.

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

Bu makale bir CSDN çevirisidir, lütfen yeniden basımın kaynağını belirtin.

NetEase Bulut Müzik neden giderek daha fazla kişi tarafından seviliyor? Peki ya Kugou ve QQ Music?
önceki
Yıllar önce KabyLake'e geçmeyi planlayan sizler, en objektif analizi okumalısınız!
Sonraki
5000 fiyatına sahip ucuz iPhone X gerçekten buna değer mi? Pazar talebini karşılayabilir mi?
Çin 996 programcısını kurtarın! GitHub'da yaklaşık 230.000 Yıldız ve Python'un babası adaleti yerine getirdi!
Broadcom'un Qualcomm'u satın alması bir çıkmaza girdi, yerel cep telefonu üreticileri "satın alma işleminden sonra bir sonraki evi bulacağız" diyor
Google, Apple'ı yener! | Geek Başlıklar
Iphone yeni pil onarımı hatırlatıcısı. Görürseniz "piyangoyu kazandığınız" için tebrikler
Fotoğraflar, size göstermek için sola ve sağa kaymanıza neden olmadı!
Resmi resim turunun Vivo NEX çift ekranlı versiyonu: mükemmel ön, yıkıcı tasarım benzersiz
Bu yıl, Shijingshan Bölgesi, tümü sizinle ilgili olan bu 36 önemli geçim kaynağı olgusunu iyi bir şekilde gerçekleştirecek.
Xiaolan Bicycle ve Didi durumu bozduktan sonra kullanıcının depozitosu iade edilebilir mi?
Mustang EC60 saf elektrikli SUV 27 Mart'ta piyasaya sürülecek, NEDC maksimum 460km seyir menziline sahip
Yeni Yıl partisi fotoğraflarınız kopyala ve yapıştır gibi mi görünüyor? Duruşun yanı sıra, bu beceriler hala var!
Açıkçası cep telefonu satışları çok düşük Samsung neden dördüncü çeyrekte 70 milyardan fazla para kazandı?
To Top