2012-02-15 1 views

risposta

10

È possibile utilizzare invece Benchmark.js. È ciò che alimenta jsPerf e funziona anche in Node.js.

1

Penso che si debbano considerare le diverse versioni di v8, che sono usate da chrome/ium e node.js.

  1. Ottenere la versione del v8 della vostra installazione nodo corrente:
    npm --versions elenco delle versioni dell'ecosistema nodo, includono la versione di V8:

    weemonger @ awesomeLinuxDistro: ~ $ NPM --versions
    {NPM: '2.11.3',
    http_parser: '2.3',
    moduli: '14',
    nodo: '0.12.7', openssl: '1.0.1p',
    uv: '1.6.1',
    v8: '3.28.71.19',
    zlib: '1.2.8'}

  2. versione GET del v8 nel tuo attuale cromo/cromo: Tipo chrome://version/ nella barra degli indirizzi:

    cromo: 38.0.2092.0 (Entwickler-costruire 282.911)
    Betriebssystem: di Windows (non così impressionante OS)
    Blink: 537,36 (@ 178012)
    JavaScript: V8 3.28.21
    Flash: 20,0,0,235
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537,36 (KHTML, come Gecko) Chrome/38.0.2092.0 Safari/537.36
    ...

Complimenti per bentinata per il commento.


Ma l'approccio più sicuro è quello di punto di riferimento nel proprio ambiente specifico (vedi John-David Daltons answer).


non così bello (vecchi) modi per ottenere la versione di v8

  • node.js

    nodo -e "console.log (process.versions .v8) "
    (https://stackoverflow.com/a/10264593/3346021)

  • cromo/cromo
    Vedere Ariya Hidayats Blog per determinare la versione di v8 utilizzata da chrome/ium.

    Per prima cosa, guarda le filiali dei rilasci del repository Chromium Subversion, facilmente navigabili allo src.chromium.org/viewvc/chrome/releases.
    Ora si tratta di controllare la versione giusta. Al momento della stesura di questo documento, il mio Google Chrome dice che è alla versione 17.0.963.46.
    Durante la visualizzazione del file 17.0.963.46/DEPS (utilizzato da Gyp, il sistema di generazione), troverete il collegamento alla versione corretta di V8, vale a dire v8.googlecode.com/svn/branches/3.7 revisione 10521.
    Questo può essere un riferimento incrociato nel repository V8: branches/3.7 & start = 10521.

+1

Utilizzando chrome: // versione/grandi opere troppo! :) – bentinata

0

ho creato uno strumento che mi aiuta a prendere e le prove eseguite con jsperf.com: https://github.com/OrKoN/jsperf

Ad esempio:

jsperf get replace-vs-split-join-vs-replaceall 67 
jsperf run replace-vs-split-join-vs-replaceall 67 

67 è il numero di revisione qui. Il risultato è simile a questo:

enter image description here