nodejs / nodejs/node

How to cache wasm module in nodejs, or it's already cached on startup ?

Đang mở
#37,565 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

stale wasm
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

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.