System.arraycopy()とclone()は浅いコピーしか実行しないので、このアプローチが深いコピーを実行するのに役立つかどうか疑問に思います。
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
long x=System.nanoTime();
oos.writeObject(fromArray);
oos.flush();
ByteArrayInputStream bin = new ByteArrayInputStream(bos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bin);
Object o=ois.readObject();
double timeTaken= (System.nanoTime()-x)/1000000000.0;
1)変数timeTakenは、ディープコピーを実行する実際の時間を教えてくれますか?
2)データを渡す場合、次のようなサイズ1MBの配列を言います
byte[] fromArray = new byte[1024*1024];
スループットをMb/秒で計算します。
double throughput=1/timeTaken;
これをメモリベンチマークスループットと見なすのは合理的でしょうか?