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

Raw JSON Writer #5314

Closed
tustvold opened this issue Jan 19, 2024 · 1 comment · Fixed by #5318
Closed

Raw JSON Writer #5314

tustvold opened this issue Jan 19, 2024 · 1 comment · Fixed by #5318
Assignees
Labels
arrow Changes to the arrow crate enhancement Any new improvement worthy of a entry in the changelog

Comments

@tustvold
Copy link
Contributor

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

Following #3479 we no longer use serde_json to decode JSON, this is not only significantly faster but gives us more control.

I would like to propose doing something similar for the write path, this would not only significantly improve performance but also give us more control over how data is encoded - #5197 (comment)

Describe the solution you'd like

I would like to deprecate the current serde_json based encoding mechanism, and introduce a new encoder that writes directly to a std::fmt::Write. Unfortunately the serde_json nature leaks out in a couple of places, so we will need to have a gradual deprecation of this functionality much like we did for #3479.

Describe alternatives you've considered

Additional context

@tustvold tustvold added the enhancement Any new improvement worthy of a entry in the changelog label Jan 19, 2024
tustvold added a commit to tustvold/arrow-rs that referenced this issue Jan 20, 2024
tustvold added a commit to tustvold/arrow-rs that referenced this issue Jan 20, 2024
tustvold added a commit that referenced this issue Jan 23, 2024
* Add JSON writer benchmarks (#5314)

* Clippy

* Tweak bench_primitive

* Tweak bench_string_array

* Review feedback
tustvold added a commit to tustvold/arrow-rs that referenced this issue Jan 23, 2024
tustvold added a commit to tustvold/arrow-rs that referenced this issue Jan 23, 2024
tustvold added a commit to tustvold/arrow-rs that referenced this issue Jan 23, 2024
tustvold added a commit to tustvold/arrow-rs that referenced this issue Jan 23, 2024
tustvold added a commit that referenced this issue Jan 24, 2024
* Raw JSON writer (#5314)

* Fix bench name

* Review feedback

* Review feedback
@tustvold tustvold added the arrow Changes to the arrow crate label Mar 1, 2024
@tustvold
Copy link
Contributor Author

tustvold commented Mar 1, 2024

label_issue.py automatically added labels {'arrow'} from #5197

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrow Changes to the arrow crate enhancement Any new improvement worthy of a entry in the changelog
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant