Hi Marvin,

On Mar 1, 2008, at 2:33 AM, Marvin Humphrey wrote:

How fast is Lua's method dispatch, compared to Java's?

Fast enough.

http://luajit.org/luajit_performance.html

That has a huge impact on performance, since *everything* is a method in Lucene -- down to writeByte().

The plan is not to mimic Lucene's Java implementation, but rather it's file format and query syntax:

http://lucene.apache.org/java/2_3_1/fileformats.html
http://lucene.apache.org/java/2_3_1/queryparsersyntax.html

There have been several attempts at pure dynamic language ports of Lucene, including Plucene (Perl), Lupy (Python), and the original pure-Ruby implementation of Ferret. All of those have proven unacceptably slow. The ports which have achieved good performance, including CLucene (C++), Lucene.NET, the latter-day Ferret (C/Ruby), and KinoSearch (C/Perl) (and possibly others, I haven't reviewed them all) all get close to the metal. None rely on hash-based method dispatch for inner-loop code, and all manipulate primitive types directly.

Thanks for the head up :)

Cheers,

PA.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to