Run | Log4J Direct | Jakarta (Interface) | Jakarta (Impl) |
---|---|---|---|
Run #1 | 741 | 711 | 701 |
Run #2 | 1622 | 671 | 551 |
Run #3 | 661 | 521 | 541 |
Run #4 | 641 | 540 | 571 |
Run #5 | 621 | 541 | 551 |
Run #6 | 610 | 521 | 551 |
Run #7 | 611 | 531 | 560 |
Run #8 | 611 | 531 | 551 |
Run #9 | 621 | 521 | 550 |
Run #10 | 611 | 521 | 551 |
Run #11 | 611 | 530 | 551 |
Run #12 | 611 | 521 | 551 |
Run #13 | 611 | 520 | 561 |
Run #14 | 611 | 531 | 550 |
Run #15 | 611 | 511 | 531 |
Run #16 | 581 | 510 | 581 |
Run #17 | 621 | 531 | 601 |
Run #18 | 631 | 571 | 570 |
Run #19 | 621 | 541 | 571 |
Run #20 | 621 | 541 | 570 |
The tests invoked isDebugEnabled()
50,000,000 times. I did what I could to help ensure that things didn't get unrealistically inlined.
What I don't understand is why going through the Log
interface is sometimes faster than either going through the Log4J Logger
class,
or through the commons-logging Log4JCategoryLog
class. I checked the commons-logging
code ... Log4JCategoryLog
is a very thin wrapper that delegates
to a Logger
.
Anyway, until I find better tests for figuring out performance, there's no reason to change the LoggingInterceptor code.
No comments:
Post a Comment
Please note that this is not a support forum for Tapestry. Requests for help will be deleted. Please subscribe to the Tapestry user mailing list if you are in need of support, or contact me directly for professional (for pay) support.
Spammers: Don't bother. I delete your comments and it's a waste of time for both of us. 垃圾邮件发送者:不要打扰。我删除您的评论和它的时间对我们双方的浪费