The sorry state of Java deserialization
marginalia.nu
The sorry state of Java deserialization
1–10 of 54 posts
Re: The sorry state of Java deserialization
#2Re: The sorry state of Java deserialization
#3Re: The sorry state of Java deserialization
#4are the benchmarks done properly? whats the actual test code?
The author is right that we are wasting something somewhere when we are only operating at 2% of the possible speed of the hard disk.
Re: The sorry state of Java deserialization
#5Re: The sorry state of Java deserialization
#6Re: The sorry state of Java deserialization
#7I’m probably missing something obvious, but what’s wrong with Apache parquet-java for this use case?
Parquet-floor is a shim that replaces the hadoop depenencies with drop in java.io-ones.
Re: The sorry state of Java deserialization
#8are the benchmarks done properly? whats the actual test code?
I don’t think the conclusion need a lot of precision in the benchmark. When the suggested code from the standard library (or some tutorial) is two orders of magnitude slower, something is not right. The author is right that we are wasting something somewhere when we are only operating at 2% of the possible speed of the hard disk.
Re: The sorry state of Java deserialization
#9Earlier quoted context omitted.
I don’t think the conclusion need a lot of precision in the benchmark. When the suggested code from the standard library (or some tutorial) is two orders of magnitude slower, something is not right. The author is right that we are wasting something somewhere when we are only operating at 2% of the possible speed of the hard disk.
From the code samples it's hard to tell whether or not this has to do with de-serialization though. It would have been fun to see profiling results for tests such as these.
I designed the tests as a drag race because that mimics my real world usage.
Re: The sorry state of Java deserialization
#10“I admit I don’t understand these results. There’s clearly nothing in the runtime itself that prevents these types of speeds.” Oh, there is. The default Java serialization is sort of like “pickle” module in Python - if you are familiar. It will deal with pretty much anything you throw at it, figuring the data structures and offsets to serialize or parse at runtime. More efficient methods trade universality for speed,…