Is the performance impact of a runtime function call so critical for
logging that we need to do this at macro-expansion-time? I would
like for logging to be less magical in its implementation.
I think Alex's goal was to approach the near-zero cost of Java logging
implementations when logging doesn't fire.
People really care about this stuff.
http://surguy.net/articles/removing-log-messages.xml
http://www.infoq.com/news/2007/08/logback
I have to say that I've done a lot of work on throughput-sensitive
code, and if there was even the slightest inkling that c.c.logging was
hogging milliseconds, I'd simply switch to using a Java logging
implementation directly. After all, it's not hard to write a trivial
macro around log4j.
When you have 10ms to respond to a request, and you have to log a few
hundred lines along the way, you don't want to pay for a few hundred
function calls and var lookups. My first link above shows someone
actually modifying bytecode to remove even the nanosecond costs. I'm
not that bad, at least :)
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en