Just updated js-dos to latest upsteram, now you can compare performance: http://js-dos.com/6.22/64k/index.html - for Asyncify http://js-dos.com/6.22/64k/index-fastcomp.html - for Emterpreter
In FF performance is same, but in Chrome asyncify version looks significant slowly. Please give a try. пт, 19 июл. 2019 г. в 20:43, Alon Zakai <[email protected]>: > > > > On Thu, Jul 18, 2019 at 11:52 PM Александр Гурьянов <[email protected]> > wrote: >> >> Works like a charm! Even file size is smaller on 300Kb (2.8Mb instead >> of 3.1Mb) > > > Great! > >> - Is Asyncify have simmilar conecpt of normal state like emterpreter >> (EmterpreterAsync.state === 0)? > > > Yes, there is Asyncify.state, and 0 means "normal" there too. > >> - Is EMTERPRETIFY_WHITELIST (list of functions that neet to be >> emterpret) can be useful for Asyncify? I tried -s >> ASYNCIFY_IGNORE_INDIRECT output size is 1,8M, but didn't work >> > > We are considering that, see > > https://github.com/WebAssembly/binaryen/issues/2218 > > But the overhead tends to be fairly small, and I hope we can optimize it more > without adding manual lists. > > Sounds like you see a 55% code size increase - I'm also curious what is the > slowdown, if you can measure that? > > - Alon > >> чт, 18 июл. 2019 г. в 23:28, Alon Zakai <[email protected]>: >> > >> > You may need to do "emsdk update" instead of "emsdk update-tags", >> > depending on if you get the emsdk using git or not. >> > >> > Latest version should be 1.38.39. >> > >> > About those errors - yes, the APIs for old Asyncify, Emterpreter, and new >> > Asyncify are not identical. Emterpreter has the "yield" concept, which is >> > not needed in Asyncify (so as you said, just call emscripten_sleep instead >> > of _with_yield). Module.setAsync is an internal API of old Asyncify - if >> > you have custom JS code using it, you need to update it to the new >> > Asyncify's API (see notes on handleSleep in the blogpost: >> > https://kripken.github.io/blog/wasm/2019/07/16/asyncify.html ). >> > >> > On Thu, Jul 18, 2019 at 1:01 AM Александр Гурьянов <[email protected]> >> > wrote: >> >> >> >> I am not sure that I used latest emscripten (through emsdk), don't >> >> know how to check. >> >> >> >> emcc (Emscripten gcc/clang-like replacement) 1.38.37 (commit >> >> d33f7a29002a2463a7956cd53a559b97a52f9560) >> >> Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt) >> >> This is free and open source software under the MIT license. >> >> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A >> >> PARTICULAR PURPOSE. >> >> >> >> My debug log didn't contain wasm-opt --asyncify which should be I think. >> >> >> >> Btw, I used this to update emscripten: >> >> emsdk update-tags && emsdk install latest-upstream && emsdk activate >> >> -embedded latest-upstream >> >> >> >> чт, 18 июл. 2019 г. в 14:52, Александр Гурьянов <[email protected]>: >> >> > >> >> > After replacing emscripten_sleep_with_yield on emscripten_sleep I have >> >> > new error: >> >> > >> >> > exception thrown: TypeError: Module.setAsync is not a >> >> > function,_emscripten_sleep@http://127.0.0.1:8080/js-dos.js line 1 > >> >> > eval:8:182429 >> >> > GUI_StartUp(Section*)@http://127.0.0.1:8080/js-dos.js line 1 > >> >> > WebAssembly.compile:wasm-function[3244]:0x11dccf >> >> > Section::ExecuteInit(bool)@http://127.0.0.1:8080/js-dos.js line 1 > >> >> > WebAssembly.compile:wasm-function[1025]:0x64869 >> >> > Config::Init()@http://127.0.0.1:8080/js-dos.js line 1 > >> >> > WebAssembly.compile:wasm-function[3634]:0x1339dd >> >> > main@http://127.0.0.1:8080/js-dos.js line 1 > >> >> > WebAssembly.compile:wasm-function[2183]:0xc6c59 >> >> > WDOSBOX/Module._main@http://127.0.0.1:8080/js-dos.js line 1 > >> >> > eval:8:220000 >> >> > callMain@http://127.0.0.1:8080/js-dos.js line 1 > eval:8:243221 >> >> > main@http://127.0.0.1:8080/js-dos.js:1:24720 >> >> > @http://127.0.0.1:8080/index.html:21:9 >> >> > >> >> > чт, 18 июл. 2019 г. в 14:47, Александр Гурьянов <[email protected]>: >> >> > > >> >> > > Hi. Trying to compile dosbox with new latest-upstream. It's compiles >> >> > > without error, but when I run it, I have this error >> >> > > >> >> > > missing function: emscripten_sleep_with_yield >> >> > > >> >> > > I just replaced all emterpreter related flags with >> >> > > -s ASYNCIFY >> >> >> >> -- >> >> You received this message because you are subscribed to the Google Groups >> >> "emscripten-discuss" group. >> >> To unsubscribe from this group and stop receiving emails from it, send an >> >> email to [email protected]. >> >> To view this discussion on the web visit >> >> https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVG2PF2MET9GXVeRZTGvSTMMRa5RtawkzMRYvO6rvo1T-A%40mail.gmail.com. >> >> For more options, visit https://groups.google.com/d/optout. >> > >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "emscripten-discuss" group. >> > To unsubscribe from this group and stop receiving emails from it, send an >> > email to [email protected]. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpSciPtuE4ry3V108OC9iZfy4%2BeEvrCYfd2Ht9UTm%2BPrtA%40mail.gmail.com. >> > For more options, visit https://groups.google.com/d/optout. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVFt2fLPxnZJLoapy3WoLP7Yt%2Ba85SthTLPktwRsfCoJHw%40mail.gmail.com. >> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQsNRR1ydC4GLVjjkYvjJ8Z5R%3DaF4FSLzYXUPRqwMao7w%40mail.gmail.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAKOm%3DVGByREYYOZKkT6EcgFufJ2LPVkhEnmM%3D%2BV8w%3Dyzp7T%2B4A%40mail.gmail.com.
