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]

Reply via email to