<div dir="ltr"><div style>Its not crazy but its lofty and prone to regressions.  It would be similar to database pooling code where it would need to create more if you used up the cached ones etc. </div><div style><br></div>
Lua has its own byte compiled format doesn&#39;t it?<div style><br></div><div style>Usually when you get past the point that lua is not satisfying, it means you should code it in C.</div><div style><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Apr 24, 2013 at 11:58 AM, Vicente Hernando <span dir="ltr">&lt;<a href="mailto:vhernando@systemonenoc.com" target="_blank">vhernando@systemonenoc.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Michael,<br>
<br>
the goal for us is to compile only once the lua script ( in our case it<br>
performs connections to several redis instances ).<br>
<br>
I have still not tested it yet, only wanted to know if it was a crazy<br>
idea, or was it just plain impossible.<br>
<br>
When I get the profiling done I will post it here.<br>
<br>
<br>
Kind regards,<br>
Vicente.<br>
<div class="HOEnZb"><div class="h5"><br>
On 04/24/2013 06:21 PM, Michael Jerris wrote:<br>
&gt; If you profile this, how long do those actually take?  how does that compare to whats needed to clear out a lua state fresh so there is no bleed over to the next usage?<br>
&gt;<br>
&gt; On Apr 24, 2013, at 6:52 AM, Vicente Hernando &lt;<a href="mailto:vhernando@systemonenoc.com">vhernando@systemonenoc.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; looking at src/mod/languages/mod_lua/mod_lua.cpp<br>
&gt;&gt;<br>
&gt;&gt; I see executing lua_init lua_uninit at the beginning and end of every<br>
&gt;&gt; function, then a lua script is loaded from a buffer, compiled and executed.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Another approach could be loading some lua scripts at the beginning and<br>
&gt;&gt; compile them. Then create a pool of lua states.<br>
&gt;&gt;<br>
&gt;&gt; Now everytime lua_init is called, instead of initializing lua again, it<br>
&gt;&gt; would take a lua state from the pool if available, otherwise it would<br>
&gt;&gt; create a new one.<br>
&gt;&gt;<br>
&gt;&gt; lua_uninit would reintegrate a lua state into the pool again.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; At the end, when module is finished being used, the whole pool should be<br>
&gt;&gt; freed.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Do you thing it is a worthwhile idea or a crazy idea? Any points?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks in advance,<br>
&gt;&gt; Vicente.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt; _________________________________________________________________________<br>
&gt; Professional FreeSWITCH Consulting Services:<br>
&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;<br>
&gt; FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
&gt; <a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
&gt;<br>
&gt; Official FreeSWITCH Sites<br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt; <a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;<br>
&gt; FreeSWITCH-dev mailing list<br>
&gt; <a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
<br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-dev mailing list<br>
<a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:+19193869900
</div>