On 1/29/2013 10:57 PM, Mikhail Vladimirov wrote:
>>> 1. Garbage-free logging. You can format and send out log message
>>> without allocating any new objects. 2. Lock-free logging. you
>>> can format and send out log message without acquiring any locks.
>>> 3. Log message templates are compiled into Java bytecode in run
>>> time or even in compile time, which makes message formatting
>>> really fast.
>> Any measurements of the impact for some realistic code?
> The idea that high-performance application may want to process data
> without producing garbage is not something new. Check, for example,
> this link: http://oreilly.com/catalog/javapt/chapter/ch04.html
>
> The same could be said about lock-free design. It is well known
> approach to increase performance of multi-threaded applications.
Sure.
But did you measure if it actually does result in a significant
difference in performance?
If not then the performance argument is a bit thin.
> Ultralog is not the first Java library designed to be garbage- and
> lock-free and focused on demands of high performance applications.
> See, for example, LMAX Disruptor:
> http://lmax-exchange.github.com/disruptor/ It is all about hot to
> avoid lock and garbage creation and it states itself as "High
> Performance Inter-Thread Messaging Library".
I know about the LMAX Disruptor.
It is not a logging framework.
> Ultralog is even not the first attempt to create garbage-free logging
> framework for Java. See, for example, the following link:
> https://bitbucket.org/vladimir.dolzh...gger/wiki/Home It
> states its goal as "to create ad-hoc logger for low latency (latency
> critical) applications (to be precise for latency critical execution
> path) which will affect application explicit and implicit (though gc
> pauses) as less as it possible". It does not claim itself to be
> lock-free though.
>
> What is new in ultralog in comparison with gflogger, is that it
> demonstrates that garbage-free logging could be done without
> sacrificing code readability.
OK.
But that raises the question: why did that logger fail to achieve
traction?
Arne