How to cache wasm module in nodejs, or it's already cached on startup ?
Nessuno ha ancora preso questa issue.
- Lingua principale
- JavaScript
- Stelle
- 122k
- Fork
- 37.3k
- Merge medio
- 4g 2h
- PR unite (30g)
- 283
Descrizione
according to this https://github.com/rustwasm/wasm-bindgen/issues/2473
Summary
I created comparison between manual javascript haversine function, and wasm based.
the result if i compared including the module initialization, wasm based getting much slower than javascript itself.
Additional Details
console.time("manual")
const haversinee = require("../func/haversine")
const src = {
lat: -7.0,
lng: 7.0
}
const dst = {
lat: -8.0,
lng: 8.0
}
console.log("manual js : "+ haversinee(src, dst, false))
console.timeEnd("manual")
console.time("wasm")
const {Point, haversine} = require("haversinecalc") // this is the problem
const src_p = new Point(-7.0,7.0)
const dst_p = new Point(-8.0,8.0)
console.log("using wasm : "+ haversine(src_p, dst_p))
console.timeEnd("wasm")
Result with module initialization included
manual js : 156581.10278754708
manual: 12.337ms
using wasm : 156581.10278754708
wasm: 18.109ms
Result without module initialization
manual js : 156581.10278754708
manual: 7.709ms
using wasm : 156581.10278754708
wasm: 0.287ms
Guida per i contributori
Apri la guida per i contributori
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.
Direzione di ricerca
Inizia riproducendo il confronto dei tempi usando require("../func/haversine") e require("haversinecalc"), quindi leggi l’issue collegata di wasm-bindgen per il contesto dell’inizializzazione del modulo. Un risultato utile sarebbe una risposta documentata che spieghi il comportamento rilevante del caricamento dei moduli di Node.js e come misurare separatamente l’inizializzazione dalle chiamate ripetute.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, node.js, wasm
- Ambito
- backend, developer-experience
- Tipo di issue
- Documentazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100