-
Notifications
You must be signed in to change notification settings - Fork 18
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
Update README.md #72
Update README.md #72
Conversation
No offence, but the lib is actually very slow, so please don't mislead people, for more details see this benchmark https://github.com/miloyip/nativejson-benchmark.
You're not wrong :-) |
I see different -O3 , -O5 optimization used in packages compared by the "benchmark guy". |
@tgockel Honestly, respect man! @venediktov as far as I can see all tested libs are built with exactly the same arguments and linked in one binary, see build/premake5.lua there. |
@jimon do you know if those tests are performed on multiple threads? so, 1.) and 2.) are coded in a way that it makes a copy of std::string I would suggest to add similar type of writers/readers to this library and then redo the test by changing So, again to me it's Apple vs. Oranges |
I can't read premake to save my life :-) From what I've personally benchmarked, there are a few problems with performance, but the biggest one is the use of regular expressions in the parsing code. There is an issue for this, but I haven't gotten around to implementing it. Another issue is the interaction I have between tokenization and parsing. While this is considered "good practice," the way I wrote the Anyhow, the ideal function to use for performance is the Ultimately, it might be best to switch to using something like yacc/bison or Boost Spirit to do the parsing, since they're proven, solid and fast. I don't really care what the solution is, as long as there aren't any external dependencies for the end-user. |
@tgockel I would look at why this json used in all the benchmarks Even though the size of a file 20% different , the only big difference in canada.json compared to citm_catalog.json is it holds 'one huge polygon structure' 99% of file size. |
With oprofile, the issue is that |
No offence, but the lib is actually very slow, so please don't mislead people, for more details see this benchmark.