[Xapian-tickets] [Xapian] #575: Mark "lightweight" functions/methods in API headers
Xapian
nobody at xapian.org
Fri Nov 11 00:14:30 GMT 2011
#575: Mark "lightweight" functions/methods in API headers
-------------------------+--------------------------------------------------
Reporter: olly | Owner: olly
Type: enhancement | Status: new
Priority: normal | Milestone: 1.3.0
Component: Library API | Version: SVN trunk
Severity: normal | Blockedby:
Platform: All | Blocking:
-------------------------+--------------------------------------------------
In the Python bindings, we need to release the GIL (Global Interpreter
Lock) while executing C++ functions/methods which can do significant work.
We currently do this for all methods, which adds an unnecessary overhead.
In Liam's node.js wrappers, he wants to know which functions shouldn't
block.
This would probably be useful for some other bindings too.
Both of these cases would be assisted by adding macro markers to the API
headers for functions/methods which are "lightweight". For the Python
bindings we could extract these to ausefullyutomatically generate a SWIG
interface file to tell SWIG not to drop the GIL for these. And we could
produce a list of the methods for human inspection for the node.js case.
Obvious candidates are the version functions and get_description()
methods.
--
Ticket URL: <http://trac.xapian.org/ticket/575>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list