Closed twinprime closed 2 months ago
Thanks for the benchmark. Can you put at least a screenshot of visualvm of CPU Time tab, or at most the file ? Also with source showing the benchmark if possible
We know that there is still reflection that could be replaced, and a lot of re-computation on some cases.
No problem, I uploaded the src and a screen shot here
Thanks. I'll try to fix this
I'm currently working on #148 that should improve the performances, I'll let you informed
A huge performance improvement is planned for version 2. See https://github.com/avro-kotlin/avro4k/issues/160#issuecomment-1711616190
Duplicate of #199
FYI @twinprime I just move your project to avro4k to allow us benchmarking easily for the next releases, thanks for the codebase. See #208
Hi, I am not sure if this is a known problem.
I was doing a simple benchmark of Avro4k and discovered that when Unions are involved, e.g. a sealed interface, a lot of CPU time (like 30% for my case) is spent on
RecordNaming.invoke(String, List<Annotation>, NamingStrategy)
. I used VisualVM to verify.This is one of the thing that makes Avro4K much slower than jackson-dataformat-avro. Its 2-3x slower for my test case.