[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