[ 
https://issues.apache.org/jira/browse/LOG4J2-1430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15337553#comment-15337553
 ] 

Remko Popma edited comment on LOG4J2-1430 at 6/19/16 11:41 AM:
---------------------------------------------------------------

Some updated AsyncAppender benchmarks from a different machine:

{noformat}
Benchmark                                                                       
         (configFileName)   Mode  Samples        Score        Error  Units
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params          
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   421350.194 ± 118742.034  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params    
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   732013.709 ± 
184898.251  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params     
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   620838.595 ± 
134244.041  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params          
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   543288.791 ±  82482.810  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params    
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   721883.526 ±  
66989.585  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params     
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   639439.565 ± 
125657.650  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param            
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   824790.565 ± 171621.728  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param      
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20  1028556.763 ± 
109353.125  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param       
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   568566.928 ± 
269872.375  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   594563.141 ±  70404.296  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   845897.352 ± 
228154.808  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   848475.002 ±  
91257.402  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   544594.819 ±  62686.338  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   987199.830 ±  
33025.388  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   859914.106 ± 
121160.546  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   461825.397 ±  62365.730  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   864736.023 ± 
160036.083  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   932562.486 ± 
203536.539  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   521609.312 ±  69653.307  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   779901.058 ± 
293679.862  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   946788.498 ± 
219523.096  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   553107.164 ±  68208.224  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   645058.084 ±  
50491.092  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   840133.798 ± 
110307.285  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   536812.806 ± 117628.586  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   903849.192 ± 
157589.199  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20  1042231.348 ± 
158482.482  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   462427.066 ± 127036.911  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20  1086714.745 ±  
61264.216  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   901716.345 ±  
51733.243  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   373571.150 ± 141871.367  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   996033.507 ± 
192236.390  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   852531.537 ±  
21937.418  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple            
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   706499.111 ± 122564.787  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple      
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20  1250716.018 ± 
118582.796  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple       
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   410649.438 ± 
238538.562  ops/s
{noformat}


was (Author: jvz):
Some updated AsyncAppender benchmarks from a different machine:

{code}
Benchmark                                                                       
         (configFileName)   Mode  Samples        Score        Error  Units
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params          
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   421350.194 ± 118742.034  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params    
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   732013.709 ± 
184898.251  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params     
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   620838.595 ± 
134244.041  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params          
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   543288.791 ±  82482.810  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params    
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   721883.526 ±  
66989.585  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params     
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   639439.565 ± 
125657.650  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param            
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   824790.565 ± 171621.728  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param      
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20  1028556.763 ± 
109353.125  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param       
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   568566.928 ± 
269872.375  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   594563.141 ±  70404.296  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   845897.352 ± 
228154.808  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   848475.002 ±  
91257.402  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   544594.819 ±  62686.338  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   987199.830 ±  
33025.388  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   859914.106 ± 
121160.546  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   461825.397 ±  62365.730  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   864736.023 ± 
160036.083  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   932562.486 ± 
203536.539  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   521609.312 ±  69653.307  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   779901.058 ± 
293679.862  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   946788.498 ± 
219523.096  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   553107.164 ±  68208.224  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   645058.084 ±  
50491.092  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   840133.798 ± 
110307.285  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   536812.806 ± 117628.586  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   903849.192 ± 
157589.199  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20  1042231.348 ± 
158482.482  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   462427.066 ± 127036.911  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20  1086714.745 ±  
61264.216  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   901716.345 ±  
51733.243  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params           
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   373571.150 ± 141871.367  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params     
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20   996033.507 ± 
192236.390  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params      
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   852531.537 ±  
21937.418  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple            
perf5AsyncApndNoLoc-noOpAppender.xml  thrpt       20   706499.111 ± 122564.787  
ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple      
perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  thrpt       20  1250716.018 ± 
118582.796  ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple       
perf5AsyncApndXferQNoLoc-noOpAppender.xml  thrpt       20   410649.438 ± 
238538.562  ops/s
{code}

> Add optional support for Conversant DisruptorBlockingQueue in AsyncAppender
> ---------------------------------------------------------------------------
>
>                 Key: LOG4J2-1430
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1430
>             Project: Log4j 2
>          Issue Type: New Feature
>          Components: Appenders
>    Affects Versions: 2.6.1
>            Reporter: Matt Sicker
>            Assignee: Matt Sicker
>             Fix For: 2.7
>
>         Attachments: AsyncAppenderPerf01.txt
>
>
> [Conversant Disruptor|https://github.com/conversant/disruptor] works as an 
> implementation of BlockingQueue that is much faster than ArrayBlockingQueue. 
> I did some benchmarks earlier and found it to be a bit faster:
> h3. AsyncAppender/ArrayBlockingQueue
> {code}
> Benchmark                                                       Mode  Samples 
>        Score       Error  Units
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params    thrpt       20 
>  1101267.173 ± 17583.204  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params    thrpt       20 
>  1128269.255 ± 12188.910  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param      thrpt       20 
>  1525470.805 ± 56515.933  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params     thrpt       20 
>  1789434.196 ± 42733.475  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params     thrpt       20 
>  1803276.278 ± 34938.176  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params     thrpt       20 
>  1468550.776 ± 26402.286  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params     thrpt       20 
>  1322304.349 ± 22417.997  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params     thrpt       20 
>  1179756.489 ± 16502.276  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params     thrpt       20 
>  1324660.677 ± 18893.944  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params     thrpt       20 
>  1309365.962 ± 19602.489  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params     thrpt       20 
>  1422144.180 ± 20815.042  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple      thrpt       20 
>  1247862.372 ± 18300.764  ops/s
> {code}
> h3. AsyncAppender/DisruptorBlockingQueue
> {code}
> Benchmark                                                       Mode  Samples 
>        Score        Error  Units
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput10Params    thrpt       20 
>  3704735.586 ±  59766.253  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput11Params    thrpt       20 
>  3622175.410 ±  31975.353  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput1Param      thrpt       20 
>  6862480.428 ± 121473.276  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput2Params     thrpt       20 
>  6193288.988 ±  93545.144  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput3Params     thrpt       20 
>  5715621.712 ± 131878.581  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput4Params     thrpt       20 
>  5745187.005 ± 213854.016  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput5Params     thrpt       20 
>  5307137.396 ±  88135.709  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput6Params     thrpt       20 
>  4953015.419 ±  72100.403  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput7Params     thrpt       20 
>  4833836.418 ±  52919.314  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput8Params     thrpt       20 
>  4353791.507 ±  79047.812  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput9Params     thrpt       20 
>  4136761.624 ±  67804.253  ops/s
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputSimple      thrpt       20 
>  6719456.722 ± 187433.301  ops/s
> {code}
> h3. AsyncLogger
> {code}
> Benchmark                                                Mode  Samples        
>  Score        Error  Units
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput10Params    thrpt       20   
> 5075883.371 ± 180465.316  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput11Params    thrpt       20   
> 4867362.030 ± 193909.465  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput1Param      thrpt       20  
> 10294733.024 ± 226536.965  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput2Params     thrpt       20   
> 9021650.667 ± 351102.255  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput3Params     thrpt       20   
> 8079337.905 ± 115824.975  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput4Params     thrpt       20   
> 7347356.788 ±  66598.738  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput5Params     thrpt       20   
> 6930636.174 ± 150072.908  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput6Params     thrpt       20   
> 6309567.300 ± 293709.787  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput7Params     thrpt       20   
> 6051997.196 ± 268405.087  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput8Params     thrpt       20   
> 5273376.623 ±  99168.461  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput9Params     thrpt       20   
> 5091137.594 ± 150617.444  ops/s
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughputSimple      thrpt       20  
> 11136623.731 ± 400350.272  ops/s
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to