-
Notifications
You must be signed in to change notification settings - Fork 5
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
Release 1.0 #27
Open
DaMatrix
wants to merge
1,250
commits into
master
Choose a base branch
from
development
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Release 1.0 #27
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
this uses the new recycled buffers in PorkUtil, and unaligned memory accesses in PUnsafe, both of which should have substantially better performance than the original code
this includes throwing exceptions in the places where they're supposed to be thrown, and not throwing them elsewhere
…zed arrays in a specific order also, added some more unit tests to cover them. honestly i'm surprised this hasn't popped up earlier: i've been using this code for years and never had a problem
this is a workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55522
also added some sub-types of AutoCloseable which make it possible to determine the exact exception type which will be thrown
this fixes some compilation bugs with newer javac versions
These work like C++20's std::bit_ceil(). They'll replace the existing roundToNearestPowerOfTwo() methods, which are slow, incorrectly named, and don't have documented behavior for values less than or equal to 0.
These are intended to be used by buffer or ArrayList-like classes to compute their new capacity when resizing to add elements.
This makes it clear how a value of 0 is handled.
This does technically affect their rounding behavior with values less than Integer/Long.MAX_VALUE, but I don't want to pollute all of my code with slow rounding code inherited from Mojang's bad coding style. Implementing these using standard library rounding functions reduces them to two instructions on all SSE4.1 hardware, and all my code which uses these methods was expecting them to behave like this anyway.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
the old pr (#10) was lost when i eradicated the primitive source from the git log, so i need a new one lol