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

implement generic pool & generic tree #20

Merged
merged 5 commits into from
Oct 10, 2024

Conversation

Masorubka1
Copy link
Contributor

This merge request removes the files generated via gotemplate, as maintaining a large variety of such files has become increasingly difficult. The generated files add complexity to the project and require considerable effort to manage. As a result, the decision was made to discontinue their generation in favor of simpler, more maintainable solutions. Removing these files will help streamline the codebase, making it more readable and easier to maintain, while also reducing the risk of errors associated with auto-generation.

@geseq
Copy link
Owner

geseq commented Oct 10, 2024

I'd be interested to see what the latest impact of this is on the benchmarks.

This is perfectly fine, but the way Go does not monomorphize with Generics which could have a performance impact. I don't expect it to be very significant though.

@geseq
Copy link
Owner

geseq commented Oct 10, 2024

before vs after on an isolated core

Before:

Add Results : count 1607490 avg 248.67642 +/- 1161 min 154 max 565457 sum 399744864

# target 50% 186.959
# target 75% 216.002
# target 90% 256.995
# target 95% 291.259
# target 99% 856.843
# target 99.9% 6688.91
# target 99.99% 9996.29
# target 99.9999% 526078
# target 100% 565457

Cancel Results : count 1607490 avg 39.027824 +/- 26.82 min 27 max 12989 sum 62736836

# target 50% 30.3986
# target 75% 35.5957
# target 90% 72.7994
# target 95% 77.6603
# target 99% 130.719
# target 99.9% 175.588
# target 99.99% 244.578
# target 99.9999% 9250.64
# target 100% 12989

After:

Add Results : count 1501250 avg 256.87334 +/- 477.3 min 163 max 259687 sum 385631101
# target 50% 228.752
# target 75% 255.732
# target 90% 294.421
# target 95% 310.01
# target 99% 575.541
# target 99.9% 5155.42
# target 99.99% 8535.26
# target 99.9999% 211744
# target 100% 259687

Cancel Results : count 1501250 avg 42.098366 +/- 24.08 min 27 max 2886 sum 63200172
# target 50% 32.9905
# target 75% 46.0247
# target 90% 80.6568
# target 95% 86.1386
# target 99% 100.727
# target 99.9% 166.936
# target 99.99% 200.16
# target 99.9999% 2853.92
# target 100% 2886

About 3-4% reduction in throughput. I think this is ok for maintainability.

@geseq geseq merged commit f69cc88 into geseq:main Oct 10, 2024
1 check passed
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