I have updated logback-perf and added coverage the for async case. The results on my machine are published as a Google Sheet. As you point out, logback AsyncAppender performance degrades as the thread count increases. I was particularly surprised to see that Logback's AsyncAppender performance is worse that that of log4j's AsyncAppender, code that was written with JDK 1.2. Given that logback's AsyncAppender relies heavily on java.util.concurrent.ArrayBlockingQueue, unless I am missing something, the results incriminate the latter rather than the former. I am still uncomfortable with reaching any conclusions. First, as you know, a lossy AsyncAppender has stellar performance. More importantly, a real application will do more than just log in a loop. Thus, in a real application, AsyncAppender will have some breathing room. I'll try to simulate this situation with a new benchmark. |