You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Strong Su <lo...@gmail.com> on 2015/09/22 05:16:57 UTC
Help about log4j tests
Hello everyone,
I'm ready to update log4j1 to log4j2. But when I run the tests from
log4j-perf with
java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5
-i 5
java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5
-i 5 -t 4 -si true
I have a little confusion about the result because async log4j2 doesn't
perform as fast as I think. I do not really know the meaning of score,
error. Maybe I mis-understand the numbers. And what's the difference
between AsyncAppenderLog4jBenchmak.throughput and
AsyncAppenderLog4jBenchark.throughputBaseline?
Single thread:
Benchmark Mode
Samples Score Error Units
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
5 341077.918 ± 56973.052 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
5 313156075.427 ± 15007930.610 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
5 274396.261 ± 104562.008 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
5 300448118.296 ± 20954996.392 ops/s
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
5 250630.705 ± 44783.168 ops/s
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
5 428087377.013 ± 14987003.793 ops/s
o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
5 340843.298 ± 13391.381 ops/s
o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
5 310154863.556 ± 52270586.260 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
81920 356.471 ± 34.995 ns/op
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
51424 72.723 ± 2.497 ns/op
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
52362 5465.711 ± 1127.586 ns/op
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
53929 72.443 ± 5.108 ns/op
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
85137 3218.803 ± 703.425 ns/op
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
63792 49.811 ± 1.118 ns/op
o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
60990 2792.624 ± 329.020 ns/op
o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
65997 48.625 ± 0.908 ns/op
four threads:
Benchmark Mode
Samples Score Error Units
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
5 336129.060 ± 91403.864 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
5 603886890.062 ± 5855781.921 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
5 207837.711 ± 59456.958 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
5 667589696.890 ± 113605555.590 ops/s
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
5 204393.757 ± 42566.910 ops/s
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
5 872806332.178 ± 136706283.485 ops/s
o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
5 236850.656 ± 136504.885 ops/s
o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
5 643801055.425 ± 140478301.365 ops/s
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
233570 15274.635 ± 19813.054 ns/op
o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
220639 96.236 ± 1.355 ns/op
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
288629 18893.983 ± 3047.142 ns/op
o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
223351 91.484 ± 2.219 ns/op
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
196275 20113.644 ± 3946.275 ns/op
o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
267998 90.178 ± 0.421 ns/op
o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
310559 15449.140 ± 1886.222 ns/op
o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
252935 90.349 ± 6.792 ns/op
Thank you.
Best Regards,
Dylan Su
Re: Help about log4j tests
Posted by Remko Popma <re...@gmail.com>.
Dylan,
It is a system property.
You can specify a value on the command line like you said with
-DAsyncLogger.ExceptionHandler=fully.qualified.classname.of.your.Handler
Here is the interface your exception handler class should implement:
https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor/ExceptionHandler.java
On Thu, Sep 24, 2015 at 5:55 PM, Strong Su <lo...@gmail.com> wrote:
> Hi Remko,
> Thanks for the reply.
>
> I'm testing async-logger on our programs. But I don't really understand the
> meaning of AsyncLogger.ExceptionHandler.
> Is it a command line argument(such as -DAsyncLogger.ExceptionHandler) or a
> configuration that I should put it in log4j2.xml?
>
> I google it but I can't find any examples. Could you give me some short
> config examples to handle one exception and multi exceptions?
>
> Thank you.
>
> Best Regards,
> Dylan
>
> On Tue, Sep 22, 2015 at 12:18 PM, Remko Popma <re...@gmail.com>
> wrote:
>
> > Dylan,
> >
> > I agree the JMH microbenchmark tool gives different results than I
> expected
> > for AsyncLogger.
> > I don't have a good explanation for this, sorry. Perhaps there is a
> mistake
> > in the benchmark code. I haven't figured this out yet.
> >
> > All I can say is that in other benchmarks AsyncLogger gave much higher
> > throughput and lower latency than other async options.
> > This is confirmed by independent parties in real-world applications (like
> > http://blogs.mulesoft.com/dev/mule-dev/mule-3-6-asynchronous-logging/ ).
> >
> > It would be great if you could do your own measurements and verify the
> > benefit yourself.
> >
> > I hope this helps,
> > Remko
> >
> >
> > On Tue, Sep 22, 2015 at 12:16 PM, Strong Su <lo...@gmail.com> wrote:
> >
> > > Hello everyone,
> > >
> > > I'm ready to update log4j1 to log4j2. But when I run the tests from
> > > log4j-perf with
> > >
> > > java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1
> > -wi
> > > 5
> > > -i 5
> > >
> > > java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1
> > -wi
> > > 5
> > > -i 5 -t 4 -si true
> > >
> > >
> > > I have a little confusion about the result because async log4j2 doesn't
> > > perform as fast as I think. I do not really know the meaning of score,
> > > error. Maybe I mis-understand the numbers. And what's the difference
> > > between AsyncAppenderLog4jBenchmak.throughput and
> > > AsyncAppenderLog4jBenchark.throughputBaseline?
> > >
> > > Single thread:
> > >
> > > Benchmark Mode
> > > Samples Score Error Units
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
> > > 5 341077.918 ± 56973.052 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
> > > 5 313156075.427 ± 15007930.610 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
> > > 5 274396.261 ± 104562.008 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
> > > 5 300448118.296 ± 20954996.392 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
> > > 5 250630.705 ± 44783.168 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
> > > 5 428087377.013 ± 14987003.793 ops/s
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
> > > 5 340843.298 ± 13391.381 ops/s
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
> > > 5 310154863.556 ± 52270586.260 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
> > > 81920 356.471 ± 34.995 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
> > > 51424 72.723 ± 2.497 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
> > > 52362 5465.711 ± 1127.586 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
> > > 53929 72.443 ± 5.108 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
> > > 85137 3218.803 ± 703.425 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
> > > 63792 49.811 ± 1.118 ns/op
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
> > > 60990 2792.624 ± 329.020 ns/op
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
> > > 65997 48.625 ± 0.908 ns/op
> > >
> > > four threads:
> > >
> > > Benchmark Mode
> > > Samples Score Error Units
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
> > > 5 336129.060 ± 91403.864 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
> > > 5 603886890.062 ± 5855781.921 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
> > > 5 207837.711 ± 59456.958 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
> > > 5 667589696.890 ± 113605555.590 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
> > > 5 204393.757 ± 42566.910 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
> > > 5 872806332.178 ± 136706283.485 ops/s
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
> > > 5 236850.656 ± 136504.885 ops/s
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
> > > 5 643801055.425 ± 140478301.365 ops/s
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
> > > 233570 15274.635 ± 19813.054 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
> > > 220639 96.236 ± 1.355 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
> > > 288629 18893.983 ± 3047.142 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
> > > 223351 91.484 ± 2.219 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
> > > 196275 20113.644 ± 3946.275 ns/op
> > >
> > > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
> > > 267998 90.178 ± 0.421 ns/op
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
> > > 310559 15449.140 ± 1886.222 ns/op
> > >
> > > o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
> > > 252935 90.349 ± 6.792 ns/op
> > >
> > >
> > >
> > > Thank you.
> > >
> > > Best Regards,
> > >
> > > Dylan Su
> > >
> >
>
Re: Help about log4j tests
Posted by Strong Su <lo...@gmail.com>.
Hi Remko,
Thanks for the reply.
I'm testing async-logger on our programs. But I don't really understand the
meaning of AsyncLogger.ExceptionHandler.
Is it a command line argument(such as -DAsyncLogger.ExceptionHandler) or a
configuration that I should put it in log4j2.xml?
I google it but I can't find any examples. Could you give me some short
config examples to handle one exception and multi exceptions?
Thank you.
Best Regards,
Dylan
On Tue, Sep 22, 2015 at 12:18 PM, Remko Popma <re...@gmail.com> wrote:
> Dylan,
>
> I agree the JMH microbenchmark tool gives different results than I expected
> for AsyncLogger.
> I don't have a good explanation for this, sorry. Perhaps there is a mistake
> in the benchmark code. I haven't figured this out yet.
>
> All I can say is that in other benchmarks AsyncLogger gave much higher
> throughput and lower latency than other async options.
> This is confirmed by independent parties in real-world applications (like
> http://blogs.mulesoft.com/dev/mule-dev/mule-3-6-asynchronous-logging/ ).
>
> It would be great if you could do your own measurements and verify the
> benefit yourself.
>
> I hope this helps,
> Remko
>
>
> On Tue, Sep 22, 2015 at 12:16 PM, Strong Su <lo...@gmail.com> wrote:
>
> > Hello everyone,
> >
> > I'm ready to update log4j1 to log4j2. But when I run the tests from
> > log4j-perf with
> >
> > java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1
> -wi
> > 5
> > -i 5
> >
> > java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1
> -wi
> > 5
> > -i 5 -t 4 -si true
> >
> >
> > I have a little confusion about the result because async log4j2 doesn't
> > perform as fast as I think. I do not really know the meaning of score,
> > error. Maybe I mis-understand the numbers. And what's the difference
> > between AsyncAppenderLog4jBenchmak.throughput and
> > AsyncAppenderLog4jBenchark.throughputBaseline?
> >
> > Single thread:
> >
> > Benchmark Mode
> > Samples Score Error Units
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
> > 5 341077.918 ± 56973.052 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
> > 5 313156075.427 ± 15007930.610 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
> > 5 274396.261 ± 104562.008 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
> > 5 300448118.296 ± 20954996.392 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
> > 5 250630.705 ± 44783.168 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
> > 5 428087377.013 ± 14987003.793 ops/s
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
> > 5 340843.298 ± 13391.381 ops/s
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
> > 5 310154863.556 ± 52270586.260 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
> > 81920 356.471 ± 34.995 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
> > 51424 72.723 ± 2.497 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
> > 52362 5465.711 ± 1127.586 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
> > 53929 72.443 ± 5.108 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
> > 85137 3218.803 ± 703.425 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
> > 63792 49.811 ± 1.118 ns/op
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
> > 60990 2792.624 ± 329.020 ns/op
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
> > 65997 48.625 ± 0.908 ns/op
> >
> > four threads:
> >
> > Benchmark Mode
> > Samples Score Error Units
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
> > 5 336129.060 ± 91403.864 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
> > 5 603886890.062 ± 5855781.921 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
> > 5 207837.711 ± 59456.958 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
> > 5 667589696.890 ± 113605555.590 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
> > 5 204393.757 ± 42566.910 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
> > 5 872806332.178 ± 136706283.485 ops/s
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
> > 5 236850.656 ± 136504.885 ops/s
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
> > 5 643801055.425 ± 140478301.365 ops/s
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
> > 233570 15274.635 ± 19813.054 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
> > 220639 96.236 ± 1.355 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
> > 288629 18893.983 ± 3047.142 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
> > 223351 91.484 ± 2.219 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
> > 196275 20113.644 ± 3946.275 ns/op
> >
> > o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
> > 267998 90.178 ± 0.421 ns/op
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
> > 310559 15449.140 ± 1886.222 ns/op
> >
> > o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
> > 252935 90.349 ± 6.792 ns/op
> >
> >
> >
> > Thank you.
> >
> > Best Regards,
> >
> > Dylan Su
> >
>
Re: Help about log4j tests
Posted by Remko Popma <re...@gmail.com>.
Dylan,
I agree the JMH microbenchmark tool gives different results than I expected
for AsyncLogger.
I don't have a good explanation for this, sorry. Perhaps there is a mistake
in the benchmark code. I haven't figured this out yet.
All I can say is that in other benchmarks AsyncLogger gave much higher
throughput and lower latency than other async options.
This is confirmed by independent parties in real-world applications (like
http://blogs.mulesoft.com/dev/mule-dev/mule-3-6-asynchronous-logging/ ).
It would be great if you could do your own measurements and verify the
benefit yourself.
I hope this helps,
Remko
On Tue, Sep 22, 2015 at 12:16 PM, Strong Su <lo...@gmail.com> wrote:
> Hello everyone,
>
> I'm ready to update log4j1 to log4j2. But when I run the tests from
> log4j-perf with
>
> java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi
> 5
> -i 5
>
> java -jar log4j-perf/target/benchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi
> 5
> -i 5 -t 4 -si true
>
>
> I have a little confusion about the result because async log4j2 doesn't
> perform as fast as I think. I do not really know the meaning of score,
> error. Maybe I mis-understand the numbers. And what's the difference
> between AsyncAppenderLog4jBenchmak.throughput and
> AsyncAppenderLog4jBenchark.throughputBaseline?
>
> Single thread:
>
> Benchmark Mode
> Samples Score Error Units
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
> 5 341077.918 ± 56973.052 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
> 5 313156075.427 ± 15007930.610 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
> 5 274396.261 ± 104562.008 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
> 5 300448118.296 ± 20954996.392 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
> 5 250630.705 ± 44783.168 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
> 5 428087377.013 ± 14987003.793 ops/s
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
> 5 340843.298 ± 13391.381 ops/s
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
> 5 310154863.556 ± 52270586.260 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
> 81920 356.471 ± 34.995 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
> 51424 72.723 ± 2.497 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
> 52362 5465.711 ± 1127.586 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
> 53929 72.443 ± 5.108 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
> 85137 3218.803 ± 703.425 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
> 63792 49.811 ± 1.118 ns/op
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
> 60990 2792.624 ± 329.020 ns/op
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
> 65997 48.625 ± 0.908 ns/op
>
> four threads:
>
> Benchmark Mode
> Samples Score Error Units
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughput thrpt
> 5 336129.060 ± 91403.864 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.throughputBaseline thrpt
> 5 603886890.062 ± 5855781.921 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughput thrpt
> 5 207837.711 ± 59456.958 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.throughputBaseline thrpt
> 5 667589696.890 ± 113605555.590 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughput thrpt
> 5 204393.757 ± 42566.910 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.throughputBaseline thrpt
> 5 872806332.178 ± 136706283.485 ops/s
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughput thrpt
> 5 236850.656 ± 136504.885 ops/s
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.throughputBaseline thrpt
> 5 643801055.425 ± 140478301.365 ops/s
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latency sample
> 233570 15274.635 ± 19813.054 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLog4j1Benchmark.latencyBaseline sample
> 220639 96.236 ± 1.355 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latency sample
> 288629 18893.983 ± 3047.142 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLog4j2Benchmark.latencyBaseline sample
> 223351 91.484 ± 2.219 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latency sample
> 196275 20113.644 ± 3946.275 ns/op
>
> o.a.l.l.p.j.AsyncAppenderLogbackBenchmark.latencyBaseline sample
> 267998 90.178 ± 0.421 ns/op
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.latency sample
> 310559 15449.140 ± 1886.222 ns/op
>
> o.a.l.l.p.j.AsyncLoggersBenchmark.latencyBaseline sample
> 252935 90.349 ± 6.792 ns/op
>
>
>
> Thank you.
>
> Best Regards,
>
> Dylan Su
>