İçeriğe geç
Muhammet Şafak
en

Research

son güncelleme:

Derin Araştırma ve Ölçüm

Bir iddia kaynağa ya da sayıya dayanmıyorsa varsayımsal bir tercihtir. Bu sayfa araştırmalarımın merkezi: hangi soruyu kovaladım, nasıl araştırdım, ne buldum ve ne kadar güveniyorum.

3
program
3
kayıt
3
ölçüm

Bulguyu nasıl üretiyorum?

Bir araştırmanın değeri tekrar edilebilir olmasında yatar. Burada paylaştıklarım için 4 kuralım var. Bu dört kuralın dışına çıkan bir kaydı yayınlamıyorum.

  1. 01

    Künye zorunludur

    Ölçümde: donanım, sürümler ve yapılandırma ortam künyesine yazılır.

    Analizde: okunan her kaynak başlığı, adresi ve erişim tarihiyle künyeye girer.

  2. 02

    Tek örnek yetmez

    Ölçümde: tek çalıştırma ölçüm değildir; tekrar sayısı ve raporlanan değer yazılır.

    Analizde: tek kaynak bulgu değildir; bir iddia en az iki bağımsız kaynakla karşılanır.

  3. 03

    Kanıt bağlanır

    Ölçümde: ham veri indirilebilir bir adrese bağlanır, tekrar komutu verilir.

    Analizde: her kaynağın kendi adresi verilir; alıntı özetlenmez, bağlanır.

  4. 04

    Negatif sonuç da yayınlanır

    Beklentiyi doğrulamayan sonuç da sonuçtur. Yayınlanmayan bulgu, yapılmamış araştırmadır.

Öne çıkan kayıt

Servis & yük Ölçüm

Yedi PHP framework'ü aynı yükte ölçtüm: fark, istek gerçek iş yaptıkça küçülüyor

Aynı donanımda, aynı PHP sürümünde ve aynı yedi rotayla, Laravel, Symfony, CodeIgniter, Yii2, Phalcon, Laminas ve Slim saniyede kaç isteği ne gecikmeyle karşılıyor?

Bulgu

Boş bir rotada en hızlı ile en yavaş arasında 4,4 kat var (Slim 25.975, Laravel 5.966 istek/sn). Ama istek gerçek iş yapmaya başlayınca fark kapanıyor: veritabanından tek satır çeken bir istekte 3,7 kata, yirmi satır çekende 3,5 kata iniyor. Phalcon boş rotada üçüncüyken veritabanı isteğinde beşinciye düşüyor — C eklentisi olmak, sorgu beklerken bir işe yaramıyor. Asıl pahalı olan şey framework seçimi değil: Laravel'in kendi varsayılan web middleware grubu, aynı yanıtı 5.858'den 2.176 istek/sn'ye düşürüyor — yani tek bir varsayılan, framework'ler arasındaki farkın çoğundan daha pahalı.

25.975 istek/sn
Boş rota, en hızlı
5.966 istek/sn
Boş rota, en yavaş
4,4× → 3,7×
Fark: boş rota → veritabanı
Orta güven Raporu oku
Arayüz performansı Ölçüm

Chart.js'i nasıl import ettiğin, ziyaretçiye kaç kilobayt gönderdiğini belirliyor

`chart.js/auto` ile seçmeli `Chart.register()` arasındaki fark, gerçek bir üretim derlemesinde kaç kilobayt?

Bulgu

Seçmeli register, `chart.js/auto` yerine 9,7 kB gzip tasarruf ettiriyor (67,8 → 58,1 kB, %14,3). Asıl büyük düşüş kütüphanenin kendisinde değil, hiç kullanılmayan controller'ları dışarıda bırakmakta: yalnız çubuk grafiği kaydeden bir sayfa 46,0 kB'a iniyor — auto'nun üçte ikisi.

58,1 kB
Seçmeli register
67,8 kB
chart.js/auto
46,0 kB
Yalnız çubuk
Yüksek güven Raporu oku

6 araştırma programı

Kayıt rastgele seçilmiyor: her biri bu programlardan birinin sorusunu daraltıyor. Bir programa dokun, liste ona göre süzülsün.

Bulgu defteri

Her kaydın sorusu ve çıkan sonucu tek satırda. Ayrıntı için satıra gir.

3 kayıt gösteriliyor — Tüm programlar

  • Araç karşılaştırması

    4 metrik

    Soru

    Bir PHP framework'ünü kurmanın sabit maliyeti: disk boyutu hiçbir şey söylemiyor

    Yedi PHP framework'ü kurulduğunda diskte kaç megabayt, istek başına kaç dosya ve ilk istekte kaç milisaniye tutuyor — ve bu sayılardan hangisi gerçekten yük altındaki hızı öngörüyor?

    Bulgu

    Disk boyutu hiçbir şey öngörmüyor: Yii2 en büyük vendor'a sahip (34,1 MB) ama istek başına yalnız 62 dosya yüklüyor — sahanın en azlarından. İstek başına dosya sayısı da öngörmüyor: CodeIgniter 96 dosya yükleyip 6.431 istek/sn veriyor, Symfony 224 dosya yükleyip 13.067 veriyor. Gerçekten ayrışan tek şey opcache soğukken ödenen ilk istek: Phalcon 2,2 ms, Laravel 72,2 ms — otuz üç kat. Bu, her deploy'dan sonra ilk ziyaretçinin ödediği derleme faturasıdır ve framework başına birkaç kilobayt değil, onlarca milisaniye tutuyor.

    Ölçüm Yüksek güven
  • Servis & yük

    4 metrik

    Soru

    Yedi PHP framework'ü aynı yükte ölçtüm: fark, istek gerçek iş yaptıkça küçülüyor

    Aynı donanımda, aynı PHP sürümünde ve aynı yedi rotayla, Laravel, Symfony, CodeIgniter, Yii2, Phalcon, Laminas ve Slim saniyede kaç isteği ne gecikmeyle karşılıyor?

    Bulgu

    Boş bir rotada en hızlı ile en yavaş arasında 4,4 kat var (Slim 25.975, Laravel 5.966 istek/sn). Ama istek gerçek iş yapmaya başlayınca fark kapanıyor: veritabanından tek satır çeken bir istekte 3,7 kata, yirmi satır çekende 3,5 kata iniyor. Phalcon boş rotada üçüncüyken veritabanı isteğinde beşinciye düşüyor — C eklentisi olmak, sorgu beklerken bir işe yaramıyor. Asıl pahalı olan şey framework seçimi değil: Laravel'in kendi varsayılan web middleware grubu, aynı yanıtı 5.858'den 2.176 istek/sn'ye düşürüyor — yani tek bir varsayılan, framework'ler arasındaki farkın çoğundan daha pahalı.

    Ölçüm Orta güven
  • Arayüz performansı

    4 metrik

    Soru

    Chart.js'i nasıl import ettiğin, ziyaretçiye kaç kilobayt gönderdiğini belirliyor

    `chart.js/auto` ile seçmeli `Chart.register()` arasındaki fark, gerçek bir üretim derlemesinde kaç kilobayt?

    Bulgu

    Seçmeli register, `chart.js/auto` yerine 9,7 kB gzip tasarruf ettiriyor (67,8 → 58,1 kB, %14,3). Asıl büyük düşüş kütüphanenin kendisinde değil, hiç kullanılmayan controller'ları dışarıda bırakmakta: yalnız çubuk grafiği kaydeden bir sayfa 46,0 kB'a iniyor — auto'nun üçte ikisi.

    Ölçüm Yüksek güven

Araştırılmasını istediğin bir şey mi var

Merak ettiğin bir soru ya da karşılaştırma varsa yaz — sıradaki kayıt o olabilir.

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi