Programlama dili performansı ölçüldü, Go Python'dan daha mı iyi?

Yazar | Pawel Dziubaka, Sebastian Karasiewicz

Tercüman | Hongji

Sorumlu Editör | Yu Yan

Üretildi | AI Teknolojisi Ana Kampı (ID: rgznai100)

İnternette, çeşitli altyapılar oluşturmanın temeli haline gelen çok sayıda harika kod var. Okuduğunuz platform aynı zamanda harika kodlar oluşturmaya adanmıştır. Sıradan kullanıcılar bunu genellikle fark etmese de, öte yandan iyi geliştiriciler her zaman uygulamalarını (ve kodlarını) yapmanın daha iyi yollarını ararlar.

Harika kod yazmanın temeli, geliştiricinin becerisine ve seçtiği dile bağlıdır. Bu, kaçınılmaz olarak geliştiriciler arasında çatışmalara yol açar ve çatışmalar yalnızca beceri seviyeleriyle değil, aynı zamanda tercih ettikleri dille de ilgilidir (ve hatta destansı çatışmalar meydana gelebilir). Bu, büyük olasılıkla iki harika programlama dilini (Golang (Go) ve Python gibi) bir araya getirdiğinizde gerçekleşir.

Şimdi bir adım geri gidelim, kişisel önyargıları ve tercihleri ortadan kaldıralım, bu iki dili sadece güçlü yönler ve işlevler açısından değerlendirelim ve oyun alanını ustaca düzleştirelim. Şimdi, sadece iki iyi seçeneğimiz kaldı: Go vs Python. Şimdi soru şu oluyor, hangi programlama dili size daha uygun?

Python hikayesi

Bazı geliştiricilere sorarsanız, Python'dan öncekilerin bahsetmeye değmediğini ve Python'dan sonra olanların kayda değer olmadığını duyacaksınız. Yıllar geçtikçe, çok iyi bir programlama dili olduğu için, başarılı bir şekilde büyük ilgi gördü. İnternet, Python ile oluşturulmuş harika uygulamalarla doludur.

Programlama yılları açısından Python, kıdemli olarak kabul edilir. İlk olarak 1991'de kavramsallaştırıldı. Büyüdükçe, yavaş yavaş belirli avantajlara sahip olurlar. Çok çeşitli destekçileri vardır, bu da istikrarlı ve iyi belgelenmiş olduğu anlamına gelir. Çoğu durumda, hemen hemen her şeyin kitaplıklarını ve aklınıza gelebilecek hemen hemen tüm kod örneklerini bulacaksınız. Geliştiriciler ve kuruluşlar için bu, Python kullanma seçiminin zengin bir deneyim ve kodlama getireceği anlamına gelir.

Temel olarak Python kullanan birçok açık kaynaklı proje vardır, bu nedenle çoğu durumda sıfırdan başlamazsınız. Kurumsal uygulamalara iyi entegre edilmiştir ve makine dilinde ve AI uygulamalarında kullanılabilir. Ancak dezavantajları da var.Bir yandan bellek yoğun görevler için ideal değil, yürütme için biraz yavaş, diğer yandan mobil uygulama geliştirme için uygun değil.

Golang'dan bahsetmişken (Go)

Google, 2009'da Go dilini geliştirdi. Go'nun asıl amacı pratik problemleri çözmektir. Amacı, C ++ gibi dillerde bulunan tüm yükleri ve gereksiz şeyleri ortadan kaldıran, ona performans ve hız iyileştirmeleri getiren bir dil yaratmaktır. Ek olarak, Go'ya ilk kez maruz kalan çoğu geliştirici, sözdiziminin önündeki yüksek engelleri takdir etmeyecektir, çünkü Go'daki tanıdık öğeler ve kullanım kolaylığı sizi şaşırtacaktır.

Bu, dilin her durumda mükemmel olduğu anlamına gelmez. Hız ve zarafeti yeni bir seviyeye yükseltmesine rağmen, iyileştirilmesi gereken bazı alanlar bırakıyor. Her şeyden önce, uzantı kitaplıkları yoktur ve kalıtımı desteklemez. Ek olarak, GUI kitaplığı veya nesneye yönelik programlama desteği yoktur. Tek yapması gereken hafif bir iş parçacığı (Goroutines), akıllı standart kitaplık, güçlü yerleşik güvenlik ve minimum sözdizimi ile kodlaması kolay oluşturmaktır.

Performans testi

Golang veya Python'un avantajları ve dezavantajları hakkında sonsuza dek konuşabiliriz, ancak dağıtımı ve kullanımı düşündüğümüzde, hepimiz mükemmel performansa sahip olmalarını bekleriz. Bu nedenle, Intel®Core i79700KCPU @ 3.60GHz × 8 çekirdekli test ekipmanı üzerinde bazı testler gerçekleştirdik. Test kodu https://github.com/sekarasiewicz/go-python-benchmark adresinden edinilebilir.

1. İkili arama

Tam sayıların bir listesini oluşturuyoruz (1'den 100000'e kadar) ve ardından her zaman aynı olan 729 sayısını bulmak için ikili aramayı kullanıyoruz. Sonuçlar:

2. Kabarcık sıralaması

Bir kez daha, tam sayılardan oluşan bir liste oluşturduk (bu sefer rastgele 10.000 elemanlıydı) ve kabarcık sıralama algoritmasını kullanarak sıraladık.

3. Dosya okuma

"Lorem ipsum" metin dosyasını okumak için basit bir test.

4. HTTP isteği işleme

Bir HTTP sunucusu yazmak gerçekten çok kolay, ancak Python'da etkili simülasyon için çok çaba sarf ediyoruz. Basit bir "merhaba dünya!" Mesajına yanıt vermenin ne kadar sürdüğünü kontrol ettik.

Golang veya Python mu seçin?

Python her zaman toplulukta favori olmuş ve 2019'un ilk çeyreğinde GitHub'da en hızlı ikinci programlama dili olmasına rağmen (çekme istekleri sayısı +% 17 ile hesaplanmıştır), Golang çok geride değil Dördüncü sırada (+% 8) geride. Golang ve Python arasındaki seçim daha belirsiz hale geldi. Her durumda, hangisinin sizin için doğru olduğunu seçerken göz önünde bulundurmanız gereken bazı şeyler vardır.

1. Ölçeklenebilirlik : Golang, oluşturulduğunda ölçeklenebilirliği düşünüyordu. Yerleşik eşzamanlılığa sahiptir ve aynı anda birden fazla görevi gerçekleştirebilir. Python aynı zamanda eşzamanlılığı da kullanabilir, ancak yerleşik değildir. İplikler aracılığıyla paralellik sağlar. Bu, büyük veri kümeleriyle uğraşıyorsanız, Golang'ın daha uygun bir seçim olduğu anlamına gelir.

2. Performans : Hepimizin bildiği gibi, Python bellek veya CPU dostu bir programlama dili değildir, ancak çok sayıda kitaplığa sahip olduğu için Python temel geliştirme görevlerini etkin bir şekilde gerçekleştirebilir. Golang'ın yerleşik işlevleri vardır ve mikro hizmet yazılım mimarisi için daha uygundur.

3. Uygulama : Python, yapay zeka, veri analizi, derin öğrenme ve web geliştirme için kod yazmak için çok uygundur. Golang, sistem programlamasında yaygın olarak kullanılmaktadır ve bulut bilişim ve küme bilişim uygulamaları geliştiricileri tarafından sevilmektedir.

4. Topluluklar ve kütüphaneler : Daha önce de belirtildiği gibi, Python'un yaşı ona bazı avantajlar sağladı. Bunlardan biri sahip olduğu kütüphane sayısı ve onu destekleyen büyük topluluktur. Öte yandan Golang, Python tarafından sağlanan büyük kütüphanelere ve topluluk desteğine sahip değil, ancak hala büyüyen bir dil. Golang'ı dışarı atmamalıyız. Büyüme ve benimseme oranı inanılmaz ve her geçen gün artıyor.

5. Yürütme performansı : Sadece hıza odaklanırsanız, Golang kesinlikle kazanacaktır.

Tüm bu faktörleri göz önünde bulundurduktan sonra, kullanım durumunuz hangi dilde kullanılacağına karar veren faktör olacaktır. Mikro hizmetler oluşturmak için bir geliştirme ekibi oluşturmak istediğinizde, Golang daha makul bir seçim olacaktır çünkü hızlı, kodlaması kolay ve ölçeklenebilir. Öte yandan Python, AI, ML ve veri analizi için daha uygundur.

Bu nedenle, bire bir karşılaştırmada Go, çoğu durumda öne çıkacaktır ve Python kullanmaya karşı etkili bir alternatif olarak kabul edilir. Geliştiricilerin, geliştirme projelerinin doğasını ve ölçeğini ve dahil olan kişilerin becerilerini dikkate alarak bir programlama dili seçmeleri gerekir.

İyi haber şu ki, hangi dili seçerseniz seçin, her iki dil de sürekli olarak gelişiyor. Golang çoğu durumda bariz bir seçim gibi görünse de, Python topluluğu herhangi bir işlem yapmadan boşta kalmayacaktır. Her iki dil de genişliyor ve büyüyor. Bu, gelecekte daha fazla özellik ve iyileştirme göreceğimiz anlamına gelir.

Orijinal bağlantı:

https://www.softkraft.co/golang-vs-python/

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

Veri bilimcileri için en iyi Docker uygulamaları
önceki
Drone topluluğunda bir daire içinde vücut ısısını ölçmek için kullanılan teknoloji mi var?
Sonraki
Bugün süreç bana ipliğin artık yaşamak istemediğini söyledi
Matplotlib çiziminin temel ilkelerinin açıklaması
Kırıldı ve Python ölümüne oynadı! Netizen: Ne yazık
Programın hafıza düzeninden bahsetmek
Fusing ve downgrading elde etmek için ASP.NET Core nasıl kullanılır?
Baidu Mobil Platformu Android Kanalını Kapatıyor; Apple iPhone SE 2'yi Zorlayacak; Microsoft Açık Kaynak Skaler | Geek Manşetleri
50.000 kişi evde nasıl verimli bir şekilde çalışabilir? ByteDance bir rehber sağlar
Makine öğrenimi yüksek maaş listesine hükmediyor ve blok zinciri öldü mü? 2020 yılında yazılım mühendislerinin durumunun yorumlanması
AI çip geliştirmenin geçmişi ve bugünü
Python'un üç "suçunu" sayın! Neden benden 10 kat daha iyi programlama becerisine sahip insanlar onu övüyor?
Evden çalışıyorum, çalışmaktan daha yorgunum, buna inanıyor musun?
Milli Eğitim Bakanlığı, 20011. Ulusal Okul Müfettişi ve 300 Özel Eğitim Müfettişinden oluşan önerilen listeyi açıkladı
To Top