You can do pretty well with only two ByteArrays, var ba0:ByteArray = new ByteArray(); var ba1:ByteArray = new ByteArray(); var len:int; var tail:int;
for ( ... ) { ba0.writeObject( ... ); ba1.writeObject( ... ); if (ba0.length !== ba1.length) // objects are different len = (ba0.length >>> 2) << 2; while (ba0.position < len) { if (ba0.readUnsignedInt() !== ba1.readUnsignedInt()) // objects are different } while (ba0.bytesAvailable) { if (ba0.readUnsignedByte() !== ba0.readUnsignedByte()) // objects are different } } Or something along those lines.