[ 
https://issues.apache.org/jira/browse/ARROW-12395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Weston Pace updated ARROW-12395:
--------------------------------
    Description: 
It should be pretty comparable to the other task schedulers.  I've drafted 
something already and it seems to be somewhere between the spawn/serial task 
group benchmarks (which are pretty optimized) and the submit benchmark (which 
is pretty slow)

 

Example output
{code:java}
-----------------------------------------------------------------------------------------------------------------
Benchmark                                                       Time            
 CPU   Iterations UserCounters...
-----------------------------------------------------------------------------------------------------------------
ReferenceWorkloadCost/task_cost:1000/real_time                693 ns          
692 ns       940807 items_per_second=1.4437M/s
ReferenceWorkloadCost/task_cost:10000/real_time              6930 ns         
6929 ns        95882 items_per_second=144.297k/s
ReferenceWorkloadCost/task_cost:100000/real_time            69740 ns        
69724 ns         9719 items_per_second=14.3391k/s
SerialTaskGroup/task_cost:1000/real_time                  6969856 ns      
6968315 ns          105 items_per_second=1.43489M/s
SerialTaskGroup/task_cost:10000/real_time                 6510709 ns      
6509131 ns           96 items_per_second=153.747k/s
SerialTaskGroup/task_cost:100000/real_time                6599298 ns      
6597857 ns           95 items_per_second=15.3047k/s
RunInSerialExecutor/task_cost:1000/real_time                 1221 ns         
1221 ns       563428 items_per_second=818.804k/s
RunInSerialExecutor/task_cost:10000/real_time                7768 ns         
7766 ns        88250 items_per_second=128.735k/s
RunInSerialExecutor/task_cost:100000/real_time              72916 ns        
72898 ns         9395 items_per_second=13.7145k/s
ThreadPoolSpawn/threads:1/task_cost:1000/real_time      199102152 ns     
78682656 ns            4 items_per_second=1004.51k/s
ThreadPoolSpawn/threads:1/task_cost:10000/real_time     148326220 ns      
5915479 ns            5 items_per_second=134.845k/s
ThreadPoolSpawn/threads:1/task_cost:100000/real_time    144870312 ns       
805224 ns            5 items_per_second=13.8124k/s
ThreadedTaskGroup/threads:1/task_cost:1000/real_time      9177560 ns        
18874 ns           73 items_per_second=1089.72k/s
ThreadedTaskGroup/threads:1/task_cost:10000/real_time     6899864 ns        
21636 ns           90 items_per_second=145.075k/s
ThreadedTaskGroup/threads:1/task_cost:100000/real_time    7307121 ns        
24868 ns           95 items_per_second=13.8221k/s
ThreadPoolSubmit/threads:1/task_cost:1000/real_time      33442213 ns     
21155761 ns           20 items_per_second=299.053k/s
ThreadPoolSubmit/threads:1/task_cost:10000/real_time     11966838 ns      
1763623 ns           56 items_per_second=83.6478k/s
ThreadPoolSubmit/threads:1/task_cost:100000/real_time    10652720 ns       
244028 ns           59 items_per_second=9.48115k/s

{code}
 

 

  was:It should be pretty comparable to the other task schedulers.  I've 
drafted something already and it seems to be somewhere between the spawn/serial 
task group benchmarks (which are pretty optimized) and the submit benchmark 
(which is pretty slow)


> [C++]: Create RunInSerialExecutor benchmark
> -------------------------------------------
>
>                 Key: ARROW-12395
>                 URL: https://issues.apache.org/jira/browse/ARROW-12395
>             Project: Apache Arrow
>          Issue Type: Improvement
>            Reporter: Weston Pace
>            Priority: Major
>
> It should be pretty comparable to the other task schedulers.  I've drafted 
> something already and it seems to be somewhere between the spawn/serial task 
> group benchmarks (which are pretty optimized) and the submit benchmark (which 
> is pretty slow)
>  
> Example output
> {code:java}
> -----------------------------------------------------------------------------------------------------------------
> Benchmark                                                       Time          
>    CPU   Iterations UserCounters...
> -----------------------------------------------------------------------------------------------------------------
> ReferenceWorkloadCost/task_cost:1000/real_time                693 ns          
> 692 ns       940807 items_per_second=1.4437M/s
> ReferenceWorkloadCost/task_cost:10000/real_time              6930 ns         
> 6929 ns        95882 items_per_second=144.297k/s
> ReferenceWorkloadCost/task_cost:100000/real_time            69740 ns        
> 69724 ns         9719 items_per_second=14.3391k/s
> SerialTaskGroup/task_cost:1000/real_time                  6969856 ns      
> 6968315 ns          105 items_per_second=1.43489M/s
> SerialTaskGroup/task_cost:10000/real_time                 6510709 ns      
> 6509131 ns           96 items_per_second=153.747k/s
> SerialTaskGroup/task_cost:100000/real_time                6599298 ns      
> 6597857 ns           95 items_per_second=15.3047k/s
> RunInSerialExecutor/task_cost:1000/real_time                 1221 ns         
> 1221 ns       563428 items_per_second=818.804k/s
> RunInSerialExecutor/task_cost:10000/real_time                7768 ns         
> 7766 ns        88250 items_per_second=128.735k/s
> RunInSerialExecutor/task_cost:100000/real_time              72916 ns        
> 72898 ns         9395 items_per_second=13.7145k/s
> ThreadPoolSpawn/threads:1/task_cost:1000/real_time      199102152 ns     
> 78682656 ns            4 items_per_second=1004.51k/s
> ThreadPoolSpawn/threads:1/task_cost:10000/real_time     148326220 ns      
> 5915479 ns            5 items_per_second=134.845k/s
> ThreadPoolSpawn/threads:1/task_cost:100000/real_time    144870312 ns       
> 805224 ns            5 items_per_second=13.8124k/s
> ThreadedTaskGroup/threads:1/task_cost:1000/real_time      9177560 ns        
> 18874 ns           73 items_per_second=1089.72k/s
> ThreadedTaskGroup/threads:1/task_cost:10000/real_time     6899864 ns        
> 21636 ns           90 items_per_second=145.075k/s
> ThreadedTaskGroup/threads:1/task_cost:100000/real_time    7307121 ns        
> 24868 ns           95 items_per_second=13.8221k/s
> ThreadPoolSubmit/threads:1/task_cost:1000/real_time      33442213 ns     
> 21155761 ns           20 items_per_second=299.053k/s
> ThreadPoolSubmit/threads:1/task_cost:10000/real_time     11966838 ns      
> 1763623 ns           56 items_per_second=83.6478k/s
> ThreadPoolSubmit/threads:1/task_cost:100000/real_time    10652720 ns       
> 244028 ns           59 items_per_second=9.48115k/s
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to