-
-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Asyncify #35
base: wasm
Are you sure you want to change the base?
New Asyncify #35
Conversation
…cs.wait with emscripten's new Asyncify
Nice work :) About Safari, I think a build of this is enough for a bug report for WebKit. It sounds like their JIT is hitting a problem, probably due to the extra overhead of asyncify (the many more locals, which can lead to worse than linear time and memory). May be worth trying the asyncify whitelist/blacklist feature, btw, it may help with performance. |
Thanks for the comment.
Yeah, I agree that it would be bug of WebKit. In order to clarify it is a bug of WebKit, not Safari, I tried WebKit nightly build r248339. I confirmed it consumed 2GB memory and it finally caused
Yes, I should try :) |
hey, is this PR still active? is anyone working on it or do you need a hand in finishing this? |
Actually not active. This PR is for experiment and not meant to be merged eventually. The second point of 'Current Issues' in description is hard in terms of maintenance. |
Okay, thanks for letting me know. |
This branch is an experiment to use new Asyncify for vim.wasm's event loop.
Implementation Status
SharedArrayBuffer
andAtomics
with simplepostMessage
Asyncify.handleSleep
to wait for messages from main thread in blocking form in CSharedArrayBuffer
andAtomics
are no longer usedCurrent Issues
SYNCIFY_IGNORE_INDIRECT
does not work. Blacklisting may work but the asynchronous functions are called in deep part of call stack so list would be big and hard to maintainResources