[Xapian-discuss] Node.js binding

Olly Betts olly at survex.com
Thu Oct 20 03:08:12 BST 2011


On Wed, Oct 19, 2011 at 10:09:41AM -0700, Liam wrote:
> I've started an initial pass on this binding, to implement just the above.
> However I need some guidance on which methods do I/O and therefore block.

Pretty much anything which uses data from the database potentially can,
especially if the remote backend is involved.  It's probably easier to
say what won't (like Xapian::Stem, at least until someone adds a stemmer
which uses a disk-based dictionary...)

I guess long computations matter too (though I'm not sure what there is
in Xapian that can do long computations which doesn't also potentially
do I/O).

If we had a macro to mark "fast" methods in the headers, we could use a
script to pull out a list.  That would also be of use in the Python
bindings as we wouldn't need to worry about releasing the GIL while
calling such methods.

Cheers,
    Olly



More information about the Xapian-discuss mailing list