[omniORB] omniORB 4.1 patch: optimize default constructed any

Teemu Torma teemu at torma.org
Mon Apr 30 01:14:49 BST 2007


We are using a union to represent range of different valuse.  CORBA::Any 
is one of the choices that is rarely used, but when running callgrind 
the union constructor was using notable amount of time which was 
dominated by CORBA::Any default constructor.

The attached patch does not assign tc_null as the default typecode but 
leaves the typecode nil instead and handles this on the access time 
instead.  Duplicating typecodes takes a mutex which is the slow part.  
With this patch, CORBA::Any default constructor and the union 
constructor dropped below the callgrind “radar screen.”

Teemu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: omniorb-any.patch
Type: text/x-diff
Size: 10306 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20070430/d4a58571/omniorb-any.bin


More information about the omniORB-list mailing list