2009-11-28 10 views
5

Komut dosyalarının başında eklediğim 1.9MB PHP kitaplığım var. Web sitem için gerekli tüm veritabanı nesneleri, yöntemleri, vb içerir. Her seferinde dahil etmek 0,1 ila 0,3s sürer.PHP'deki 'include() s' performansını nasıl artırabilirim?

Bu dosyanın bayt kodunu önbelleğe almak için eAccelerator kullanıyorum. Bu 'include' performansını optimize etmek için başka neler yapabilirim?

+3

Merak ediyorum, a) sayfanın geri kalanını oluşturmak, b) sayfayı indirmek ne kadar sürer? –

+0

Sayfada ve yüklediği bilgi miktarına bağlı olarak, sayfanın geri kalanını oluşturmak için 0s ila 0.5s ve genellikle yaklaşık 0,1s-1,1s olabilir. Sayfayı indirmek için .. Sayfanın içinden çıkabildiğim kadar sıkıştırmak istiyorum. : P –

cevap

8

Modüllere bölün ve parçaları yalnızca gerektiğinde yükleyin. Performansı gerçekten geliştirmenin tek yolu bu, aynı durumdaydım ve sadece çözdüm. Aklımda çok fazla kod var. Her bağlamda 1.9 MB koduna ihtiyacınız olmayan bir bira bahse girerim.

+0

Sanırım bahse girerseniz muhtemelen kazanırsınız. : P Kitaplığı modüllere ayırmayı okudum. Şimdi tasarım sorusu şöyle oluyor: Dosyaları bölmek için en iyi metodoloji hangisidir? Ayrıca, php’nin yerleşik olarak __autoload yöntemlerini kullanarak çağrılan sınıfları da dahil etmeyi düşünüyorum, ancak bu biraz daha fazla yüke sahip gibi görünüyor. –

+2

Bunu yanıtlamak için, bunun ne tür bir proje olduğunu ve kütüphanenin neyle ilgili olduğunu biraz ayrıntılı olarak açıklamanız gerekir. Genel olarak, açık bir şekilde, onları en çok kullanılan işlevler/nesneler gruplarına ayırırsınız. Burada görüntü fonksiyonları var, orada güvenlik var ... Ama bu sadece son karar verebileceğiniz bir şey. –

+0

Oldukça az sayıda farklı işlev alt kümesine sahip büyük bir projedir. Kütüphane Görüntüler, güvenlik, arkadaşlıklar, Kullanıcılar, Gruplar, mesajlar, 'pokes' vb. Nesnelerin/yöntemlerin ve veritabanı şema haritalarından oluşur. Korkarım ki, her sayfada kullanılan işlevler iyi bir şekilde haritalanmadığından, bir harita oluşturuyor İstenilen kitaplıklara yapılan talepler benim en büyük zaman dilimim olacaktı. –