chaokunyang opened a new pull request, #1739:
URL: https://github.com/apache/fury/pull/1739
## What does this PR do?
optimize pojo copy performance and add benchmark
## Related issues
<!--
Is there any related issue? Please attach here.
- #xxxx0
- #xxxx1
- #xxxx2
-->
## Does this PR introduce any user-facing change?
<!--
If any user-facing interface changes, please [open an
issue](https://github.com/apache/fury/issues/new/choose) describing the need to
do so and update the document if necessary.
-->
- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?
## Benchmark
Before:
```java
Benchmark (bufferType) (objectType) (references) Mode
Cnt Score Error Units
CopyBenchmark.fury_copy array MEDIA_CONTENT false thrpt
3 1294614.644 ± 2103796.392 ops/s
CopyBenchmark.fury_copy array SAMPLE false thrpt
3 1909071.799 ± 2343118.356 ops/s
CopyBenchmark.fury_copy array STRUCT false thrpt
3 1220680.635 ± 1019806.837 ops/s
CopyBenchmark.fury_copy array STRUCT2 false thrpt
3 584429.541 ± 111229.502 ops/s
CopyBenchmark.kryo_copy array MEDIA_CONTENT false thrpt
3 1008490.635 ± 309047.316 ops/s
CopyBenchmark.kryo_copy array SAMPLE false thrpt
3 921863.274 ± 1082442.180 ops/s
CopyBenchmark.kryo_copy array STRUCT false thrpt
3 1336939.990 ± 795836.830 ops/s
CopyBenchmark.kryo_copy array STRUCT2 false thrpt
3 168367.000 ± 236966.711 ops/s
```
Java
```java
"Benchmark","Mode","Threads","Samples","Score","Score Error
(99.9%)","Unit","Param: bufferType","Param: objectType","Param: references"
"fury_copy","thrpt",1,3,2109290.365427,3288206.327966,"ops/s",array,MEDIA_CONTENT,false
"fury_copy","thrpt",1,3,3782221.184147,2199791.745914,"ops/s",array,SAMPLE,false
"fury_copy","thrpt",1,3,4615728.374490,3842473.239091,"ops/s",array,STRUCT,false
"fury_copy","thrpt",1,3,1082994.111322,644103.302108,"ops/s",array,STRUCT2,false
"kryo_copy","thrpt",1,3,1020694.849643,346710.732010,"ops/s",array,MEDIA_CONTENT,false
"kryo_copy","thrpt",1,3,541209.232227,2439757.891565,"ops/s",array,SAMPLE,false
"kryo_copy","thrpt",1,3,1147229.147465,2094010.736475,"ops/s",array,STRUCT,false
"kryo_copy","thrpt",1,3,153875.993828,142913.762559,"ops/s",array,STRUCT2,false
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]