-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Enable MINIMAL_RUNTIME code size tests for Wasm backend #10116
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
Enable MINIMAL_RUNTIME code size tests for Wasm backend #10116
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Surprising that the wasm backend is larger - it's almost always smaller in my testing. But there are differences in how some code is used from musl instead of asm.js library functions, which maybe is noticeable in a small enough program that happens to use them. Definitely worth investigating.
7dff5e3
to
5d9911b
Compare
Anyone knows what might be up with the mac CI bot? It fails
That is, it refuses to link in the JS WebGL library, even though it is building in non-strict mode where the WebGL libraries should come in by default; and even then it is explicitly passing When I locally run the test on my Windows, Linux and macOS boxes, the test passes. |
I'm not sure why it fails only on mac, but minimal runtime does disable Lines 1538 to 1551 in 58c147b
So somehow the emcc.py code in |
182d81f
to
afa7e22
Compare
41a9883
to
f1124a9
Compare
The issue was that |
…ore#10116) * Enable MINIMAL_RUNTIME code size tests for Wasm backend * Add in debugging for JS libraries. Remove unnecessary function maybeAddGLDep(). * Debug macOS box * Restore mac CI and fix GL linkage * Update code size in test
Wasm backend seems to be about +30% bigger compared to fastcomp backend, haven't really digged in to what causes the differences, and if it's a constant/one-off size diff or a linear one. That's something to investigate later, but this establishes a good baseline.