Github user remkop commented on the issue:

    https://github.com/apache/logging-log4j2/pull/87
  
    As promised, here are the throughput results on enterprise hardware.
    
    Hardware: total 64 cores (4x 16-core) Intel(R) Xeon(R) CPU E5-2697A v4 @ 
2.60GHz
    Java Hotspot 64-bit server 1.8.0_112
    
    
    Results look good: as soon as we introduce concurrency, the lock-free MMap 
appender starts outperforming the other file appenders.
    
    *1 thread*
    
    ```
    {code}
    -sh-4.2$ java -jar benchmarks.jar ".*Log4j2AppenderThroughput.*" -wi 5 -f 1 
-i 10
    
    Benchmark                                                  (loggerType)  
(messageSizeBytes)   Mode  Samples          Score        Error  Units
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             File     
            150  thrpt       10    1344494.961 ± 221110.545  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender              RAF     
            150  thrpt       10    1563396.748 ±  12497.136  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             MMap     
            150  thrpt       10    1223215.440 ±  14661.487  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              File     
            150  thrpt       10    1008537.505 ±   9213.181  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end               RAF     
            150  thrpt       10     998564.075 ±  12207.661  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              MMap     
            150  thrpt       10     785114.881 ±   8827.768  ops/s
    {code}
    ```
    
    *4 threads*
    
    ```
    {code}
    -sh-4.2$ java -jar benchmarks.jar ".*Log4j2AppenderThroughput.*" -wi 5 -f 1 
-i 10 -t 4
    
    Benchmark                                                  (loggerType)  
(messageSizeBytes)   Mode  Samples         Score          Error  Units
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             File     
            150  thrpt       10   1678485.793 ±   260632.925  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender              RAF     
            150  thrpt       10   1412574.559 ±   447410.040  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             MMap     
            150  thrpt       10   1386414.915 ±   333117.992  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              File     
            150  thrpt       10    959662.994 ±   333541.548  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end               RAF     
            150  thrpt       10    929405.390 ±    66673.436  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              MMap     
            150  thrpt       10   1013681.438 ±   155916.949  ops/s
    {code}
    ```
    
    
    *8 threads*
    
    ```
    {code}
    -sh-4.2$ java -jar benchmarks.jar ".*Log4j2AppenderThroughput.*" -wi 5 -f 1 
-i 10 -t 8
    
    Benchmark                                                  (loggerType)  
(messageSizeBytes)   Mode  Samples         Score         Error  Units
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             File     
            150  thrpt       10   1164538.492 ±   62482.965  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender              RAF     
            150  thrpt       10   1194865.200 ±   72251.118  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             MMap     
            150  thrpt       10   1338960.644 ±   71104.991  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              File     
            150  thrpt       10    944670.900 ±   69190.255  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end               RAF     
            150  thrpt       10    930248.735 ±   28523.086  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              MMap     
            150  thrpt       10    998676.286 ±   36327.805  ops/s
    {code}
    ```
    
    *16 threads*
    
    ```
    {code}
    -sh-4.2$ java -jar benchmarks.jar ".*Log4j2AppenderThroughput.*" -wi 5 -f 1 
-i 10 -t 16
    
    Benchmark                                                  (loggerType)  
(messageSizeBytes)   Mode  Samples         Score        Error  Units
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             File     
            150  thrpt       10   1214786.965 ±   7217.940  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender              RAF     
            150  thrpt       10   1192036.036 ±  13696.830  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             MMap     
            150  thrpt       10   1548961.297 ±  27141.206  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              File     
            150  thrpt       10   1003235.059 ±  10365.921  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end               RAF     
            150  thrpt       10    994834.287 ±   9057.470  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              MMap     
            150  thrpt       10   1323043.186 ±  19960.127  ops/s
    {code}
    ```
    
    *32 threads*
    
    ```
    {code}
    -sh-4.2$ java -jar benchmarks.jar ".*Log4j2AppenderThroughput.*" -wi 5 -f 1 
-i 10 -t 32
    
    Benchmark                                                  (loggerType)  
(messageSizeBytes)   Mode  Samples         Score        Error  Units
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             File     
            150  thrpt       10   1372729.015 ±  40762.524  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender              RAF     
            150  thrpt       10   1185351.707 ±  16992.542  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             MMap     
            150  thrpt       10   1784377.615 ± 179359.793  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              File     
            150  thrpt       10    918029.971 ±  38434.750  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end               RAF     
            150  thrpt       10   1122310.566 ± 152840.084  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              MMap     
            150  thrpt       10   1898762.678 ±  81312.274  ops/s
    {code}
    ```
    
    *64 threads*
    
    ```
    {code}
    -sh-4.2$ java -jar benchmarks.jar ".*Log4j2AppenderThroughput.*" -wi 5 -f 1 
-i 10 -t 64
    
    Benchmark                                                  (loggerType)  
(messageSizeBytes)   Mode  Samples         Score         Error  Units
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             File     
            150  thrpt       10   1193371.846 ±   32893.485  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender              RAF     
            150  thrpt       10   1231136.529 ±   26895.411  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.appender             MMap     
            150  thrpt       10   1409277.639 ±   91900.204  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              File     
            150  thrpt       10    881261.726 ±   35023.552  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end               RAF     
            150  thrpt       10    929691.738 ±   22616.873  ops/s
    o.a.l.l.p.j.Log4j2AppenderThroughputBenchmark.end2end              MMap     
            150  thrpt       10   1216108.561 ±   41321.530  ops/s
    {code}
    ```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to