Smarty benchmark, herkes?

9 Cevap php

Benim web uygulaması çiftleşmiş çözüm olarak Smarty düşünüyor yaşıyorum ve ben şimdi düz PHP karşı performansı ile endişe duyuyorum.

Smarty site ancak, gerçek karşılaştırma yapan herkes deyimi doğru veya yanlış kanıtlamak için bulmak mümkün değildi, aynı olması gerektiğini söylüyor.

Herkes düz PHP vs Smarty bazı kıyaslama yaptınız mı? Ya da belki bu tür testlerin bazı kaynaklara rastlamak?

Teşekkürler

9 Cevap

Ayrıca Dwoo denilen Smarty benzer yeni bir şablon kütüphanede almak isteyebilirsiniz

Propably çok önemli değildir - sadece this çok basit kriter bulundu.

Burada başka bir çiftleşmiş çözüm Burada XSLT i (onun basit bir sayfa) dönüştürülür sayfalarından biri için benim benchmarklardır bulunuyor:

// with smarty (baseline)
    0.014 seconds

// with xsl/xslt-clientside
    0.008 seconds
    42% decrease in server stress

// with xsl/xslt-serverside
// this process would only be done if the users browser doesn't support client-side XSLT
    0.016 seconds
    14% increase in server stress

Onun herkes için değil ama performans ana endişe ise :)

Bunun üstüne istemci şablonu önbelleğe sağlar.

ben burada ne yapıyorum bir örnek (bu benim sitelerinden biridir): http://pixao.com

ve burada bunun bir örneği, daha büyük ölçekli bir sitede şu: http://worldofwarcraft.com

şimdiye kadar ben herhangi bir gösteri tıpa içine çalıştırmak için henüz

Smarty onlar ilk alıştığınız zaman doğru kurmak olması koşuluyla, tüm şablon dosyaları için PHP kodu üretir ve bunları kullanır mümkün olduğunda yerine tekrar şablonları ayrıştırma.

Ben bir süre için kullanılan ve o yeterince hızlı, ama (çok PHP4-izm) sınırlayıcı biraz çünkü sonunda ben düz PHP dosyaları için takas.

Smarty kendisi oldukça büyük bir kütüphane ... senin Smarty kullanmaya devam ediyorsan, ben Smarty kütüphane oldukça büyük boyutunu telafi edecek .. Eğer derlenmiş versiyonunu önbelleğe için APC kullanmanızı öneririz ...

Bu Smarty nasıl kullandığınıza bağlıdır çünkü sayfalarında can değişiklik, akış

Klasik düz PHP akışı:

  • Çıktı
  • Kolu $ _REQUEST veri
  • Çıktı
  • Veritabanı sorgularını işlemek
  • Çıktı
  • Kolu $ _REQUEST veri
  • Çıktı
  • ...

Klasik Smarty akışı:

  • Tüm $ _REQUEST verilerini ele
  • Tüm veritabanı sorgularını işlemek
  • Çıktı all

If plain PHP took 1.0 sec for this page the Smarty page also takes 1.0 sec. BUT if we assume that all database and $_request handeling takes 0.7 sec. The plain PHP starts output directly while the Smarty version starts outputing after 0.7 sec. Therefor the browser can start downloading stylesheets and images faster. No output also means the "Stop" button has no effect.

However in Smarty you can call functions and methods from within the template. Delaying the slow part to where the data is needed.

İşte Smarty ve daha birçok şablon motorları vs PHP sınayan bir şablon motoru kriter http://www.raintpl.com/PHP-Template-Engines-Speed-Test/

  • For assignment Twig is the faster, it compile the html template to a classes, so it's also faster in executing more than the PHP include! IMHO is heavy (many files) and complicate, but is very fast!

  • Daha hızlı döngü için PHP dahil, ve çok kolay, küçük (1 dosya) ve hızlı Yağmur orada kısa bir süre sonra edilir.

Çok daha hafif kütüphane dosya boyutu açısından ise a drop in replacement for Smarty called Template Lite hangi vardır. O dedi, ben bu kütüphanede takas gerek kalmadan bazı son derece yüksek yük durumlarında orijinal Smarty kullandık.

Kendi deneyimleri ve gayri kriterler dayanarak, Smarty kendisi tarafından herhangi bir önemli performans azalmaya neden yok. Özel eklentileri yazarken içine almak Ancak, işler kötüye gider.

Bir Smarty şablon derlenmiş & edilir PHP olarak önbelleğe alınan, ancak özel bir eklenti her zaman yüklenir ve idam zamanında ve her zaman düz eski PHP dosyası aynı kodu çalıştıran daha yavaş olur. Sen eklentisi biçimlendirme, özel bir dize ile bu çok fazla fark etmeyeceğiz, ama bir eklenti veritabanı sorguları yaparken kesinlikle bunu görürsünüz.

Genel olarak, ben çok Smarty öneririz. PHP dışarı görüntüyü almak çok daha okunabilir ve sürdürülebilir bizim kodunu yaptı. Sadece size eklentileri koymak konusunda dikkatli emin olmak gerekir.