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

Reply via email to