How to cache wasm module in nodejs, or it's already cached on startup ?
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 122k
- Fork
- 37.3k
- Merge trung bình
- 4 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 283
Mô tả
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
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Trước tiên, hãy tái hiện việc so sánh thời gian bằng require("../func/haversine") và require("haversinecalc"), sau đó đọc issue wasm-bindgen được liên kết để hiểu bối cảnh khởi tạo module. Một kết quả hữu ích sẽ là một câu trả lời được ghi lại, giải thích hành vi liên quan của việc tải module trong Node.js và cách benchmark phần khởi tạo riêng biệt với các lần gọi lặp lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript, node.js, wasm
- Lĩnh vực
- backend, developer-experience
- Loại issue
- Tài liệu
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100