Ich habe eine Corba related Frage.Corba Sequenz <octet> viel langsamer als mit einem Sockel
In meiner Java App verwende ich typedef Sequenz Data;
Jetzt spielte ich mit diesem Datenvektor herum. Wenn ich mit der Corba-Spezifikation richtig bin Sequenz wird entweder in xs: base64Binary oder xs: hexBinary umgewandelt werden. Es sollte ein undurchsichtiger Typ sein und daher sollte kein Marshalling verwendet werden.
Ich habe versucht, verschiedene IDL-Stile:
void Get(out Data d);
Data Get();
aber was ich sehe, ist, dass die Daten zu bewegen mit Corba viel langsamer als eine Buchse direkt mit ist. Mir geht es gut mit ein wenig Overhead, aber es sieht für mich aus, als ob die Daten noch gemarshallt sind.
Muss ich irgendwie meine Kugel konfigurieren, um das Marshalling zu unterdrücken oder habe ich etwas vermisst.
Sonnen Java Orb. Ist es wichtig? – Totonga
Gibt es eine Möglichkeit festzustellen, ob Base64 oder Hex ausgewählt ist. – Totonga
Also fragte ich die CORBA-Spezifikation und es heißt, dass "Werte für eine Oktett-Konstante außerhalb des Bereichs 0 - 255 einen Kompilierungsfehler verursachen". Oktett ist also immer ein Byte. Nur für Zeichen Base64/utf-8/-16 ist möglich. Ein Oktett hat also in jedem Fall eine Größe von einem Byte. – tuergeist