Kod yürütme hızı: ASP.NET-MVC karşı PHP
Dostça bir tartışma co-işçi ile aramızda bu konuda ben ve benim kişisel görüşüm bir ASP.NET-MVC derlenmiş web uygulama daha verimli/daha hızlı PHP ile yazılmış olacaktır aynı proje daha çalışır. Arkadaşım aynı fikirde değil.
Ne yazık ki benim argüman yedeklemek için kullanabileceğim sağlam bir veri yok. (o da yok)
Bu, denedim Google için cevaplar bulmaya çalışmadın kanıt kanıtlamak için onu yanlış ama çoğu zaman tartışmaya açık bir platform olduğunu daha iyi geliştirmek, maliyet, güvenlik özellikleri, vb... uğruna bu argüman gerçekten umurunda mı.
Yığın taşması topluluk ham hız/hakkında ne düşündüğünü bilmek MVC karşı aynı web sitesi PHP ile geliştirilmiş ASP.NET geliştirilmiş olan genel olarak web sitelerinin çeşitli hastalıklara istiyorsunuz?
Herkes gerçek dünya senaryoları iki teknoloji performansını karşılaştıran herhangi bir pratik örnekler var mı?
(Biliyorum, bazıları için bu çok iyi bir alakasız ve belki de aptalca bir tartışma, ama bir argüman ve ben hala duymak gibi cevaplar güzel insanlar burada S. O.)
CEVAP
Zor bir karşılaştırma, çünkü bu farklılıklar ilgili yığınlar demek sonunda yapıyor aynı şeyi farklı ve eğer onları aynı amaç karşılaştırma değil bir çok gerçekçi bir test.
Benim gibi olan PHP, en temel haliyle her isteği ile dolu, yorumlanır ve daha sonra atılır. Çok fazla bu konuda CGI sürpriz 15 yaşında olduğunu kabaca göz önünde bulundurursak () gibi.
Şimdi üzerinden yıllar çeşitli optimizasyon yapılmıştır performansını artırmak, en önemlisi işlem kodu önbelleğe alma ile APC, örneğin (öyle ki APC olacak standart bir parçası olan PHP 6 ve isteğe bağlı bir modül gibi şimdi).
Ama hala PHP betikleri esasen geçicidir. Oturum bilgilerini (normal) dosya tabanlı ve birbirini dışlayan (session_start() blokları diğer komut erişim aynı kullanıcı oturum kadar session_commit() veya senaryoyu bitirir) ise bu durumda ASP.NET. Oturum verileri bir kenara bırakırsak, oldukça kolay (normal) ASP.NET (ya da çok daha benzer bu konuda, Java) uygulama kapsamında canlı nesneler var.
Bu önemli bir fark. Örneğin, PHP access veritabanı (mysql, mysqli, PDO, vb kullanarak) geçici (kalıcı bağlantılar rağmen) oysa .Net/Java neredeyse her zaman kalıcı bağlantı havuzu kullanmak ve bu en son sürüm önbelleğe belirli herhangi bir istek ötesinde ORM çerçeveleri ve oluşturmak için.
Bayt olarak yorumlanır platformu ASP.NET teorik olarak daha hızlıdır ama PHP neler yapabileceğini sınırlar çoğu insan için önemsiz olacak kadar yüksek. Top 20 4 internet sitelerinin örneğin PHP vardır ziyaret etti. Gelişim, sağlamlık, çevre, çalışan maliyeti, vb hız... herhangi bir teorik fark daha hızlı ölçek başladığımda çok daha önemli olma eğilimindedir.
Aklınızda bulunsun .Net ilkel türler, tür güvenliği ve PHP kodu çalıştırmak daha hızlı hale getirecek bu tür şeyler vardır. Eğer biraz haksız bir test yapmak istiyorsanız, her iki platformu bir milyon rasgele 64 bit dizisi gibi. ASP.NET ilkel türler oldukları için öldürür ve basit diziler PHP ilişkisel diziler (ve PHP tüm diziler sonuçta ilişkilendirilebilir) daha verimli olacaktır. Ayrıca 32 bit işletim sistemlerinde PHP bunun için çok acı çekecek o yüzden 64 bit yerel bir tamsayı olmaz.
Gerektiğine de işaret ASP.NET önceden derlenmiş ise PHP yorumlanır on-the-fly (hariç işlem kodu önbelleğe alma), hangi bir fark yaratabilir ama esneklik PHP bu konuda iyi bir şey. Sunucunuz sıçrayan olmadan bir komut dosyası dağıtmak için güçlü olmak harika. Sadece bırak ve işe yarıyor. Parlak. Ama daha az ölçülebilir sonuçta.
Sonuçta tartışıyorsunuz ama bence çok önemsiz bir ayrıntı.
Nasıl Java program yürütme hızı zaman...
Hali hazırda karşı Bunu...
Bir zula Git diff karşı...
Çözmek için nasıl "Eklenti yürütm...
Python @alıcıları ve ayarlayıcıları öz...