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

Add picocsv benchmark #4

Merged
merged 3 commits into from
Nov 2, 2024
Merged

Add picocsv benchmark #4

merged 3 commits into from
Nov 2, 2024

Conversation

charphi
Copy link
Contributor

@charphi charphi commented Oct 27, 2024

I've added a picocsv benchmark.

I've got some strange results: it seems that the performance greatly varies on the internal buffer size.
The default buffer size (8192) is less performant than a small buffer size.
On the other side, any multiple of the benchmark data size (163) is very performant.

Here are the numbers on my computer:

fastcsv:        4950990,093
picocsv 150:    4518949,433
picocsv 163:    7279028,970
picocsv 200:    4699804,914
picocsv 256:    4906056,524
picocsv 163*2:  7324703,236
picocsv 512:    4344949,147
picocsv 163*50: 7173802,419
picocsv 8192:   3520978,275

@osiegmar osiegmar merged commit aa572a5 into osiegmar:master Nov 2, 2024
1 check passed
@osiegmar
Copy link
Owner

osiegmar commented Nov 2, 2024

Thanks for your contribution!

For the sake of comparison, tweaking buffer sizes would only make sense if this is done for all contenders.

Speaking of comparison, I've updated https://github.com/osiegmar/JavaCsvComparison yesterday. You may want to check the settings of picocsv as I'm unsure if there are settings which would further improve the passed checks.

@charphi
Copy link
Contributor Author

charphi commented Nov 2, 2024

For the buffer size, you are right. That's why I let the default size in the benchmark.

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