Add JIT benchmarks
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- rust
- Ambito
- compilers, performance, testing-qa
Direzione di ricerca
Inizia nel crate benchmarks e traccia il modo in cui REVIVE_USE_COMPILER seleziona il JIT e come sono definiti i parametri di benchmark EVM/PVM esistenti. Aggiungi il percorso bench-pvm-jit con misurazioni separate del tempo di esecuzione reale per la compilazione e l’esecuzione, quindi convalida che i suoi parametri forniscano risultati JIT utili pur rimanendo eseguibili dall’interprete EVM.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Setting the REVIVE_USE_COMPILER env var will enable the JIT in PVM in the pallet. However just setting this variable and running the benchmarks does not tell anything because it measures the whole execution from the get go.
Add to that, because JITed contracts run orders of magnitudes faster, the benchmarking parameters used for benchmark the {EVM,PVM} interpreters are too low to be telling.
What should be done here:
- Add a
bench-pvm-jitfeature flag to the benchmarks crate which will lead to benchmark the JIT instead the interpreter. - Implement functions wall-time measuring the compilation and execution (execution means the sandbox is already up - zero startup or compilation overhead, just the execution time).
- Find new parameters suitable for measuring the JIT. They are selected if the
bench-pvm-jitfeature is set. Ideally they are big enough to be telling but still small enough so the EVM interpreter can execute them too (will be very slow but we need the numbers to compare)
- Lingua principale
- Rust
- Stelle
- 102
- Fork
- 26
- Merge medio
- 2g 9h
- PR unite (30g)
- 21
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di paritytech/revive
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
paritytech/revive#633 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
paritytech/revive#632 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
paritytech/revive#631 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
paritytech/revive#630 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
Libraries in source files whose names solc escapes (non-ASCII, `"`, `\`, tab) can never be linkedApertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 75/100
paritytech/revive#629 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di paritytech/revive
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
aws-samples/sample-pacer#76 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
axodotdev/cargo-dist#2523 ·
I maintainer di solito rispondono entro 2 giorni