<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div>The Feuerlabs fork of lager does basically this.</div><div><br></div><div><a href="https://github.com/Feuerlabs/lager/compare/basho:master...master">https://github.com/Feuerlabs/lager/compare/basho:master...master</a></div><div><br></div><div>I don't think it ever ended up as a pull request, though.</div><div><br></div><div>BR,</div><div>Ulf</div><br><div><div>On 24 Aug 2013, at 16:42, Max Lapshin <<a href="mailto:max.lapshin@gmail.com">max.lapshin@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">log4erl logging library has an interesting feature: on loading config it generates module that cuts all log requests that are too verbose on caller side without any ets lookups or calls.<div><br></div><div>lager instead makes ets call to find out current loglevel. I can't say that it is a bad approach, but when my traffic is growing upper 8 Gbit/s from single node, I have to calculate each microsecond.</div>
<div><br></div><div>I suppose that thousands of requests per second to single row in ets table for finding out whether to log or not to log may be more blocking than executing precompiled erlang code.</div><div><br></div>
<div>So, question: why approach with compiled on-fly module is not used? Just because ets is more standard? Or "shut up and make pull request"?<br><div><br></div><div><br></div></div></div>
_______________________________________________<br>erlang-questions mailing list<br><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>http://erlang.org/mailman/listinfo/erlang-questions<br></blockquote></div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><div><div>Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.</div><div><a href="http://feuerlabs.com">http://feuerlabs.com</a></div></div><div><br></div></span><br class="Apple-interchange-newline">

</div>
<br></body></html>