emscripten-core / emscripten-core/emscripten

How to avoid repeated downloading of dynamic library under multithreading

オープン
#17,537 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
27.6k
フォーク
3.6k
平均マージ
1日 16時間
マージ済み PR(30日)
117

説明

Version of emscripten/emsdk: 3.1.15

If I use Multi-Thread and Side-Module, my project can run successful. But my dynamic libraries(about 30MB) will download some times,
one in main thread and others by my worker.js(PTHREAD_POOL_SIZE=30), this will waste lots of time and network bandwidth(about 1G).

① But in fact, I should only need to load it once,it will be fast and more reasonable, how can I share thoes dynamic libraries for other thread?
② What's more, the path of the dynamic library has changed。 When I set my dynamic libraries as below.
var Module = {
dynamicLibraries : [
"libs/XXX.so",
.....
],
}
it downloads libraries from //libs in main thread, however,it downloads libraries from ///libs/ in worker.js thread。 so I need copyt it to other path.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

dynamicLibraries を使用したマルチスレッドの side-module セットアップを再現し、メインスレッドと worker.js のリクエスト、およびそれらで解決されたパスを比較します。完了条件は、ライブラリが一度だけダウンロードされるかどうか、また同じライブラリパスが両方の実行コンテキストから機能するかどうかを判断することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, wasm
領域
build-system, web-dev
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。