Bug 356

Summary: Eliminate more data copies in marshaling engine
Product: TAO Reporter: Carlos O'Ryan <coryan>
Component: ORBAssignee: DOC Center Support List (internal) <tao-support>
Status: RESOLVED DUPLICATE    
Severity: enhancement    
Priority: P3    
Version: 1.0.5   
Hardware: All   
OS: All   

Description Carlos O'Ryan 1999-10-07 14:02:13 CDT
The current marshaling code is not very aggressive about eliminating data
copies. Currently it only avoid copying octet sequences, and then only if the
data is stored in a message block.
But there are many other cases where the data copying can be removed, for
example, the outgoing CDR streams can always eliminate the copy, because
marshaling is immediately followed by the I/O operations, the application has no
chance to release the data.
Further, many data types (at least on regular platforms) can be marshaled
without the copies, basically all the basic types (except characters and wide
characters) and fixed sized structures if their padding matches the CDR rules (a
rare case).
On the incoming CDR streams the situation is a little different, but certainly
<in> arguments could be demarshaled without data copies, but <out> and <inout>
arguments could not.
Comment 1 Ossama Othman 1999-10-15 11:49:59 CDT
Carlos is our marshaling guru.  He should be point man.  (I assume he'll
reassign it to a "deserving" person. :)
Comment 2 Carlos O'Ryan 1999-10-23 10:15:59 CDT
OK, i'll keep track of this one.
Comment 3 Carlos O'Ryan 2000-01-31 23:22:59 CST
I don't have time to work in this back at any point in the foreseeable future.
I'm returning the bug to the main pool, if anybody wants to take it they are
welcomed to ask questions on how to approach the problem/enhancement.
Comment 4 Carlos O'Ryan 2000-02-08 13:12:59 CST
Bugs moved to the tao-support placeholder.
Comment 5 Carlos O'Ryan 2000-02-21 18:38:59 CST
Bug #447 describes the same problem/ideas is much more detail.


*** This bug has been marked as a duplicate of 447 ***