Skip to content
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

other.test_minimal_runtime_code_size: apply slop to code sizes #8364

Merged
merged 2 commits into from
Apr 1, 2019

Conversation

kripken
Copy link
Member

@kripken kripken commented Mar 28, 2019

As there is a source of nondeterminism in the JS backend - LLVM IR text names affect asm.js names, which leads to difference code size, which leads to different code sizes. In particular, on the exact same fastcomp+emscripten I get 7 byte larger code sizes locally than the bots do. This appears to have gotten more random since the recent change to LLVM IR debug name changes, but it was probably a problem all along, just became more noticeable.

This appears to be a JS backend issue, so it should not exist with the wasm backend, once we switch over.

…ere is a source of nondeterminism in the JS backend
@kripken kripken requested a review from juj March 28, 2019 21:38
@@ -9080,9 +9080,11 @@ def print_percent(actual, expected):
print('size of ' + f + ' == ' + str(size) + ', expected ' + str(expected_size) + ', delta=' + str(size - expected_size) + print_percent(size, expected_size))

# Hack: Generated .mem initializer files have different sizes on different platforms (Windows gives x, CircleCI Linux gives x-17 bytes, my home Linux gives x+2 bytes..)
# TODO: identify what is causing this (until that, expected .mem initializer file sizes are conservative estimates that do not contribute to total size)
# Likewise asm.js files seem to be affected by the LLVM IR text names, which lead to asm.js names, which leads to difference code size, which leads to different
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you wrap these lines at 80?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reformatted comments.

@kripken kripken merged commit 166de48 into incoming Apr 1, 2019
@kripken kripken deleted the slop branch April 1, 2019 20:22
VirtualTim pushed a commit to VirtualTim/emscripten that referenced this pull request May 21, 2019
…ipten-core#8364)

As there is a source of nondeterminism in the JS backend - LLVM IR text names affect asm.js names, which leads to difference code size, which leads to different code sizes. In particular, on the exact same fastcomp+emscripten I get 7 byte larger code sizes locally than the bots do. This appears to have gotten more random since the recent change to LLVM IR debug name changes, but it was probably a problem all along, just became more noticeable.

This appears to be a JS backend issue, so it should not exist with the wasm backend, once we switch over.
VirtualTim added a commit to VirtualTim/emscripten that referenced this pull request May 23, 2019
VirtualTim added a commit to VirtualTim/emscripten that referenced this pull request May 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants