Misure delle prestazioni del motore Javascript nel tempo? [chiuso]

2

Dall'inizio della gara Javascript - che avrei ambientato nel lancio di Google Chrome nel 2008 - il miglioramento delle prestazioni del motore di Javascript è stato notevole.

Il web è pieno di confronti come "Firefox V3.42.7 vs Safari 3.0-prealpha2" e il vincitore di tali confronti cambia ogni pochi mesi e si differenzia per ogni benchmark.

Ma il quadro generale, indipendentemente da chi ha ottenuto la nuova versione per ultima, è che la velocità media dei browser aggiornati attuali è migliorata molto negli ultimi anni. Eppure questo miglioramento a lungo termine è difficile da quantificare:

  • le persone di solito confrontano l'ultima versione di ciascun browser e non versioni diverse di un browser

  • I miglioramenti delle prestazioni annunciati non si accumulano generalmente: quando qualcuno annuncia V3 due volte più veloce di V2 e V4 due volte più veloce di V3, ciò non significa che V3 sia quattro volte più veloce di V1, perché di solito significa "in un caso favorevole", e il caso favorevole nella transizione V3-4 non è necessariamente lo stesso della transizione V2-3

  • i benchmark stessi evolvono nel tempo; quello che viene definito "il test di Sunspider" oggi non è lo stesso del 2008, quindi non possiamo confrontare i punteggi grezzi nel tempo.

Qualcuno sa di una misura preziosa del miglioramento delle prestazioni dei motori javascript negli ultimi anni?

    
posta gasche 10.08.2011 - 16:15
fonte

4 risposte

4

Come effetto collaterale del mantenimento dei file the benchmarks game in CVS, chiunque sia disposto a svolgere un lavoro attento dovrebbe essere in grado di riunire insieme una piccola cronologia delle prestazioni.

Ad esempio,

  1. Puoi scoprire quando è stato eseguito il commit di ogni nuovo testo di versione per V8 .

  2. Puoi trovare i dati. versione del file csv subito dopo le date dei file di versione selezionati

  3. È possibile "selezionare per diffs" e diff i file data.csv solo dopo tali date

  4. Puoi utilizzare la ricerca di pagina per trovare tutte le righe V8 con stato 0 e copiare in un file di testo

  5. Quindi è necessario verificare che le righe di dati siano per lo stesso programma. In primo luogo, hanno lo stesso prefisso (nbody, v8,1) e in secondo luogo hanno segnalato la stessa dimensione del programma gzip (1287).

  6. Quindi per - V8 versione 1.2.5 (candidato) [console: stupido] - dal 9 giugno 2009 potresti scavare queste righe di dati

    name,lang,id,n,size(B),cpu(s),mem(KB),status,load,elapsed(s)
    fasta,v8,1,25000000,791,**125.240**,10088,0,2% 1% 1% 100%,125.241
    nbody,v8,1,50000000,1287,**211.753**,10088,0,0% 0% 0% 100%,211.755
    spectralnorm,v8,1,5500,311,**88.122**,12588,0,0% 0% 0% 100%,88.120
    
  7. E potresti abbinare quelli con queste righe di dati per - V8 versione 3.4.7 [console: stupido] - dal 28 giugno 2011

    name,lang,id,n,size(B),cpu(s),mem(KB),status,load,elapsed(s)
    fasta,v8,1,25000000,791,**30.750**,5712,0,0% 0% 0% 100%,30.762
    nbody,v8,1,50000000,1287,**71.068**,12852,0,0% 0% 0% 100%,71.118
    spectralnorm,v8,1,5500,311,**33.462**,6580,0,0% 0% 0% 100%,33.474
    
  8. Inizia con una versione successiva ( come V8 versione 1.3.11.1 ) e dovresti essere in grado di abbinare più programmi.

Divertiti.

E per Mozilla (2008-2011)

  1. Puoi scoprire quando ogni nuovo il testo della versione è stato eseguito.
  1. È possibile "selezionare per diffs" e diff i file data.csv solo dopo tali date (l'8 aprile 2011 è l'ultima data in cui includere tracemonkey)

  2. Puoi utilizzare la ricerca di pagina per trovare tutte le righe di tracemonkey con lo stato 0 e copiare in un file di testo

etc

E per i vecchi Mozilla (2005-2007) su una macchina diversa, utilizzando diversi programmi

  1. Puoi scoprire quando ogni nuovo il testo della versione è stato eseguito.
  1. È possibile "selezionare per diffs" e diff i file data.csv solo dopo tali date

  2. Puoi utilizzare la ricerca di pagina per trovare tutte le righe javascript con lo stato 0 e copiare in un file di testo

etc

Il problema che vedrai in quei vecchi dati è che nel tempo alcune attività sono state rimosse e alcune nuove attività sono state aggiunte, e non c'è un modo carino per capire quando è successo. Probabilmente l'approccio più semplice sarebbe prendere nota del primo timestamp per testo di descrizione di ciascuna attività , quindi controlla il file di dati per una data subito dopo quella in cerca di un programma javascript che implementa la nuova attività.

Probabilmente dovrei anche dire che potresti scavare il codice sorgente per i programmi , per esempio binarytrees.javascript

    
risposta data 11.08.2011 - 01:45
fonte
4

La prima cosa che arriva a metà quando poni questa domanda è Siamo veloci ancora . (Il collegamento è alla "vecchia" pagina, perché la pagina corrente è linee rette.

(nota storica, la pagina originale diceva "No")

    
risposta data 10.08.2011 - 21:06
fonte
2

Puoi sempre verificare, creare e testare le versioni precedenti dei browser poiché alcuni di essi sono open source. Scommetto che potresti trovare versioni binarie più vecchie di quelli che non lo sono.

    
risposta data 10.08.2011 - 23:25
fonte
1

Ho fatto qualche indagine su questo usando i dati del gioco benchmark menzionati da igouy nell'altra risposta. Puoi trovare una recensione completa su link ma per farla breve i Benchmark dei benchmark mostrano un miglioramento di circa 2.6X da V8 è stato introdotto e V8 è stato un miglioramento di circa 10 volte rispetto a IE7, il browser più diffuso al momento.

    
risposta data 05.10.2015 - 20:12
fonte

Leggi altre domande sui tag