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

Performance improvements #59

Merged
merged 39 commits into from Oct 25, 2023
Merged

Performance improvements #59

merged 39 commits into from Oct 25, 2023

Conversation

hkupty
Copy link
Owner

@hkupty hkupty commented Oct 25, 2023

No description provided.

Java seems to have to re-evaluate that reference at every iteration, causing
a lambda creation/instantiation. This is solved by storing it in a variable
Instead of using an array for lookup, we let the compiler do the right
thing
Evaluating the strings is more expensive and unnecessary for values that
we have some confidence won't change or are withing reasonable
boundaries
Two important changes:
- resizing will occur at 80% mark, but capacity is not re-evaluated
  every time;
- checking sizes have been lifted to higher layers

Also, more raw ways of writing values have been exposed.

Finally, this uses the new int -> ascii code that is faster because it
doesn't need to use a slow log10 computation.
This should allow us to override the previously called `PennaSink`.
Also, we remvoe the `OutputManager` and opt for a better solution
There's no difference in performance and we make the code unnecessarily
coupled.
@hkupty hkupty merged commit 94f391f into dev/0.7 Oct 25, 2023
1 check passed
@hkupty hkupty deleted the performance-improvements branch October 25, 2023 21:52
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.

None yet

1 participant