danielsun1106 edited a comment on issue #1135: GROOVY-8298: Slow Performance 
Caused by Invoke Dynamic
URL: https://github.com/apache/groovy/pull/1135#issuecomment-571961230
 
 
   @blackdrag 
   Jochen, I measured the performance of cs, indy1 and indy2 with JMH ( 
https://github.com/danielsun1106/benchmark-labs ), the result is shown as 
follows.
   As we can see, the performance of indy2 is improved a lot:
   
   Benchmark |indy2 VS indy1 | indy2 VS cs
   ---- | ---- | ----
   CallsiteBench.dispatch_megamorphic | 3675% | 25.83%
   CallsiteBench.dispatch_monomorphic | 5.72% | 188.62%
   CallsiteBench.dispatch_polymorphic | 3000% | _-17.11%_
   
   The following tables show the detailed result(Note: the benchmark mode is 
throughput, so the higher the `Score` is, the better performance will be):
   
   **indy2:**
   ```
   Benchmark                            Mode  Cnt     Score    Error   Units
   CallsiteBench.dispatch_megamorphic  thrpt   15   151.552 ±  2.157  ops/ms
   CallsiteBench.dispatch_monomorphic  thrpt   15  4768.491 ± 41.386  ops/ms
   CallsiteBench.dispatch_polymorphic  thrpt   15   155.040 ±  7.380  ops/ms
   ```
   
   **indy1:**
   ```
   Benchmark                            Mode  Cnt     Score    Error   Units
   CallsiteBench.dispatch_megamorphic  thrpt   15     3.914 ±  0.462  ops/ms
   CallsiteBench.dispatch_monomorphic  thrpt   15  4510.525 ± 46.702  ops/ms
   CallsiteBench.dispatch_polymorphic  thrpt   15     5.283 ±  0.325  ops/ms
   ```
   
   **cs:**
   ```
   Benchmark                            Mode  Cnt     Score    Error   Units
   CallsiteBench.dispatch_megamorphic  thrpt   15   119.447 ± 45.829  ops/ms
   CallsiteBench.dispatch_monomorphic  thrpt   15  1651.584 ± 39.724  ops/ms
   CallsiteBench.dispatch_polymorphic  thrpt   15   186.763 ± 14.549  ops/ms
   ```
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to