-
Notifications
You must be signed in to change notification settings - Fork 13
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
Sync with Upstream #11
Comments
That's prize winning material :) Appreciate the attention to detail. Following the initial few releases which ironed out some things (though eg the |
Beyond being insanely fast, the simdjson API is really slick. More functionality, tests, and users seem inevitable. I wanted to sync before tackling anything else (including giving @dcooley a second set of eyes for |
One thing to keep in mind is that they code and change things almost as fast as the code runs :) Kidding aside on my last upgrade early April I had to change maybe four instances even though there are only so few lines of code (yet). But as usual we can expect the API to stabilize as it matures. And the changes were all great. |
I understand what you mean, but for the folks reading this who are not familiar with the matter, let me say: that is slightly unfair. We introduced a new (better?) API while keeping the old one. People who coded against our releases probably did not have any broken code. The new API may change a bit, maybe... but it is unlikely to change a lot. At best, we might introduce a few things and deprecate others but we are simply not going to willingly break anyone's code, and we will surely not do it on a whim. We code very, very carefully and rather slowly. We hate having APIs change from under us, so we don't do the same to others. cc @jkeiser |
It was meant as a self-deprecating joke, it didn't work. My bad. I was referring to the last part of this commit which shows that a function barely four lines long required changes on four lines. I am not implying you are not responsible about API stability. I was merely joking that I was glad that day that I had four lines. Not four hundred. The code is better now, and change absolutely can be worth it. E.g. I dig Again, if I stepped on toes, my bad. |
Yes, yes, I understood... please see the "I understand what you mean, but for the folks reading this " part of my comment!!! I was merely concerned with your comment being taken out of context. |
Yeah, it's all good. And yeah, we're pursuing a policy of deprecation to give people time to change, and even for the things we deprecate, we try to say "OK, the user is going to be annoyed at having to change their code. Will they feel like the API change itself is buying them some great new capability?" If the answer is no, then we don't want to change the API, even if it feels nice from a refactoring point of view or something. |
So ... having the update from #12 in here, I contemplated uploading to CRAN. The build service at https://builder.r-hub.io has a convenient
Guess I have some reading to do in doc/basics.md Edit: Or maybe not. My box (g++-9.2) is silent with/without -Wdeprecated-declarations. To be continued... |
We support C++11. I think ubuntu 16.04 has a GNU GCC version that predates GNU GCC 7. Hmmm GNU GCC 4.7 I think. That's very, very old.
I don't think you need to worry too much about that. We have a new API which is much nicer but it does imply a rewrite of sort. We still support the old API and there is no plan to retire it, but we do encourage you to update your code to the new API. After initially swearing a bit, I am sure you will agree that it is much nicer once you grok it. |
Also the test that barked was the ASAN one which simulatenously helpful (the *SAN stuff is amazing) but also known to toss out false positives. So I think I will wrap up what I have (thanks again @knapply !) and 'ship it' to CRAN. |
Per the contributing guidance, here is a planned PR.
The main motivation (beyond keep pace) is access to
simdjson::dom::object
and::array
sizes for better preallocation..get<dom::array>()
so that it still compilesI'm happy to update NEWS.Rd if the following conforms...
The text was updated successfully, but these errors were encountered: