I am looking forward to a pure Lua version of Lucene. Lua looks like a neat and amazingly compact programming language. I especially like Lua's "table" container type which is both a list and a hash/dictionary.

One issue to watch out for is LUCENE-510, which has been an issue with other Lucene implementations trying to match the Lucene index format exactly:

  http://issues.apache.org/jira/browse/LUCENE-510

I'm working on this one but not sure when exactly it will be fixed since it's a difficult tradeoff (loses some indexing performance)...

Mike

Petite Abeille wrote:

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]



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

Reply via email to