Senaryo Hız Bellek Kullanımı vs

3 Cevap php

PHP bir görüntü nesil senaryo üzerinde çalışıyorum ve bu iki şekilde çalışıyoruz aldık. Bir yolu, yavaş ama bellek sınırlı bir miktarda kullanılır, ikinci çok daha hızlıdır, ancak 6x bellek kullanır. Betik (bildiğim kadarıyla söyleyebilirim) ya hiçbir kaçak yoktur.

Sınırlı bir kriter olarak, burada yaptıkları nasıl:

--------------------------------------------
METHOD  | TOTAL TIME | PEAK MEMORY |  IMAGES
--------------------------------------------
One     |     65.626 |     540,036 |     200
Two     |     20.207 |   3,269,600 |     200
--------------------------------------------

Ve burada önceki sayıların ortalama (kendi matematik yapmak istemiyorsanız) 'dir:

--------------------------------------------
METHOD  | TOTAL TIME | PEAK MEMORY |  IMAGES
--------------------------------------------
One     |      0.328 |     540,036 |       1
Two     |      0.101 |   3,269,600 |       1
--------------------------------------------

Which method should I use and why?

Ben bu her kullanıcının normal bir ziyaret sırasında bu komut dosyası için 10-20 isteklerini yapma, kullanıcıların yüksek hacimli tarafından kullanılan tahmin.

Daha fazla bellek kullanır olsa, o zaman 1/3 ve eşzamanlı istekleri sayısını azaltmak çünkü ben daha hızlı bir yöntem doğru eğilerek duyuyorum.

Update: Ben ikinci seçeneği rafine ve neredeyse yarısında bellek kullanımını kesmek üçüncü bir ile gelip başardı. Sonra diğer yeni numaralar birini çalıştıran, bu yeni kriter:

--------------------------------------------
METHOD  | TOTAL TIME | PEAK MEMORY |  IMAGES
--------------------------------------------
One     |     51.901 |     798,900 |     200
Two     |     12.039 |   3,269,600 |     200
Three   |     13.667 |   1,815,624 |     200
--------------------------------------------

Thanks for the direction and help!

3 Cevap

Ben ikinci ile gitmek istiyorum. Her zaman son kullanıcı için iyi olan, daha hızlı. Ram kullanımı olsa da, yüksek, bu nedenle ek ram fiyat tartmak zorunda. Bu yepyeni bir kutu eklemek için daha bir sunucuya ram eklemek için kolay (ve ucuz) bulunuyor.

Öte yandan, bu iki profil var mı? Seni mutlu middleground çeşit ulaşabilirsiniz eminim. Ikinci algoritmanın hızlı ancak ilk bellek kullanımı gibi bir şey. Bir karar vermeden önce xdebug ile çalıştırın.

Ben mevcut ne kadar bellek bağlıdır düşünürdüm. Bu numaraları daha sonra da "daha fazla bellek" sürüm hala bellek "sadece" kullanarak 3MB olduğunu bayt varsayarsak. Bekleyen isteklerin sayısı, hangi noktada, o ölçüde daha yavaş olacak, takas içine bellek sistemi iter kadar fazla bellek sürümü daha hızlı olmaya devam edecek ...

Ben hızlı sürümünü nasıl yaptığınızı hakkında yorum okumak, ve sadece bir kez belleğe şeyler dizinizi olması gerekir böylece memcached gibi bir şey kullanabilirsiniz. Sonra ekstra bellek kullanımı pek önemli.