-
Notifications
You must be signed in to change notification settings - Fork 126
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
Choice of JSON Library | Migrating from RapidJSON #715
Comments
Personally I think https://github.com/nlohmann/json would be a good replacement. |
It's been mentioned on discord We could continue cherry picking fixes or fixing stuff ourselves or move over to a library that respects the ecosystem and didn't just release it for luls like Tencent did. |
Digging through the chat log about previous discussions
|
Depending on how substantial changing JSON library would be, I guess we could treat RapidJSON as a rolling release and use something like dependabot for informing us about new commits. |
primedev moved over to nlohmann (or however it is spelt) and that seemed to go fine. Might be relatively trivial to port as well |
I'm also in favor of nlohmann since its saner than RapidJSON and actually makes releases
Which is why I am more in favor of yyjson to squash those complaints |
How much performance impact do we actually have from reading JSON? Like we read If primedev uses nlohmann as @ASpoonPlaysGames mentioned I'm slightly in favour of using that as well, primarily so that we keep the codebases closer together so that @ASpoonPlaysGames can port over the remaining changes more easily. To improve launching performance of Northstar we should find out what causes the greatest bottleneck and start there rather than base our choice of JSON library on it when (I assume) reading the JSON files makes up a very minuscule part of the slow launch sequence. |
Ok, according to @Klemmbaustein Similar thing with comments which are used in a bunch of mods and why FlightCore and Viper just assume JSON5 for parsing Basically, we need to support
|
While working on #713 I found out that newer toolchains fail to build RapidJSON due to const-qualified types being kept const Tencent/rapidjson#2277
With RapidJSON not having had a release in almost a decade, maybe we should switch to a better maintained library?
Needs to be discussed.
The text was updated successfully, but these errors were encountered: