Comments (8)
stream api is considered as "optional". 99% percent of time, byte array input will be the best option.
from java.
Guess I am at that 1%. I have to process large json files and it is not possible to load them into the byte arrays held in memory. It should be possible to use streaming and writer API without dynamically linking anything or generating any code at runtime.
from java.
The best option is to make a fork of this library. Delete IterImpl.java and rename IterImplForStreaming.java to IterImpl.java. The idea is to support streaming mode without virtual method call. So Javassist is used to shadow the class in runtime.
from java.
That is pretty much what I had to do, but it is not maintainable like that. I'd have to stick with Jackson if that would be the only option.
As a thought. Maybe make it other way around. Stream by default and replace virtual call when dynamic codegen is used... or provide JsonIteratorStream hardwired with IterImplForStreaming
from java.
how about I maintain the fork for you? like lite version. It is just a bash script to copy the files needed over. What features do you need? Encoding or decoding? Iterator only or more?
from java.
Thank you for a generous offer, but that won't be necessary.
I completed evaluation of Jsoniter. Really like simplicity of the stream API. But I didn't get a significant performance increase over jackson 1.x for my project when parsing large json datasets using stream api. Also jackson is more forgiving when parsing various data types. So I will have to keep my existing implementation.
from java.
switch case based on string field is slow. that is the biggest bottleneck in all the parsing process.
from java.
I still see quite a bit of jsoniter code at the top of the list:
from java.
Related Issues (20)
- Bug?: iter.skipNumber will keep illegal character
- hma HOT 1
- Codegen fails to generate Enum decoder if Enum has overriden toString() method
- No constructor for: interface io.netty.Channel
- `indentionStep` has no effect on `com.jsoniter.any.Any`
- In the micro-benchmark test, the jsoniter serialization performance seems to be a bit poor
- java 17 NPE
- duplicate class definition for name: "com/jsoniter/IterImpl" when use treaming processing
- Aplicación del patrón de diseño "Strategy"
- Aplicación del patrón de diseño Decorator
- Aplicacion del patron de diseño Strategy 2
- Reporte Refactoring 1
- Reporte refactoring 2 HOT 1
- Java 17 support & java-json-benchmark HOT 5
- Concerns regarding the way jsoniter is implemented for high performance parsing
- Java HOT 1
- Json java
- helloworld
- 递归循环报错,引发StackOverflowError HOT 1
- JsonStream.serialize error,cause StackOverflowError HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from java.