Update loader with what we've learned #810
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR updates the loader with the lessons learned in #794 while trying to make accessing typed arrays faster.
In particular, this completely eliminates the need to
checkMem
and wraps buffers innew TypedArray
s directly. The lesson here seems to be that JS engines optimize this extremely well, not actually allocating something but just passing around buffers with a type attached.Consequently, the
I8
, ...F64
properties have been removed since a)checkMem
isn't there anymore to update them, and b) it can be expected that manually wrapping the buffer innew TypedArray
achieves similar results in user code. The README has been updated accordingly.Also adds typing for 64-bit integer arrays using BigInt.
cc @MaxGraey