lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hello,

On Nov 23, 2005, at 23:17, Diego Nehab wrote:

LuaSocket version 2.0 (final) is now available for download! It is
compatible with Lua 5.0 and has been tested on Windows XP, Linux, and
Mac OS X.

Thanks a lot for the update, I was eagerly awaiting for it :)

The build was a snap, so I just went ahead and replaced the previous binary I was using (beta3).

Out-of-the-box, everything seems to work fine... except that performances seem to degrade sharply over time. After a couple of ApacheBench runs, the throughput of my Lua web server drops by over 50%.

Only the luasocket binary has changed. Replacing it with the previous version brings things back to, er, "normal".

How does the "improved:tcp:send(data, i, j)" impacts existing code? Was it not working the same way in beta3?

Here is my current "send" method:

        local anIndex = 1
        local aSize = 0
        local aRemainder = 0

        while true do
                anIndex = anIndex + aRemainder

aSize, aStatus, aRemainder = self:socket():send( aValue, anIndex )

http://dev.alt.textdrive.com/file/lu/SocketWriter.lua

I'm not quite sure what needs to be adjusted (if anything) to make it work with the new, improved, tcp:send()...

Looking at etc/dispatch.lua, it seems that the send invocation looks like this now:

        first = (first or 1) - 1
        local result, error
        while true do

            result, error, first = tcp:send(data, first+1, last)

Is that what needs to be changed?

I'm quite confused :/

Thanks for any clarifications :)

Cheers

--
PA, Onnay Equitursay
http://alt.textdrive.com/