package Ġorg . map db . benchmark . el sa Ċ Ċ import Ġorg . junit . Test Ċ import Ġorg . map db . benchmark . Bench Ċ import Ġorg . map db . benchmark . Map Benchmark Ċ import Ġorg . map db . el sa . El sa Maker Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . Data OutputStream Ċ import Ġjava . io . Object OutputStream Ċ import Ġjava . io . Serializable Ċ import Ġjava . util .* Ċ Ċ class ĠEl sa Bench { ĊĊĠĠĠ Ġval Ġsize Ġ= ĠMap Benchmark . size / 1 0 0 0 ĊĊĊĠĠĠ Ġfun Ġser ( name : String , Ġe : Any ? ){ ĊĠĠĠĠĠĠĠ Ġval Ġel sa Ġ= ĠEl sa Maker (). make () ĊĠĠĠĠĠĠĠ Ġval Ġout 1 Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġval Ġout 2 Ġ= ĠData OutputStream ( out 1 ) ĊĊĠĠĠĠĠĠĠ ĠB ench . bench (" el sa -$ name ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB ench . stop watch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġel sa . serialize ( out 2 , Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout 1 . reset () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġout 3 Ġ= ĠObject OutputStream ( out 1 ) ĊĊĠĠĠĠĠĠĠ ĠB ench . bench (" obj -$ name ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB ench . stop watch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout 3 . write Object ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout 3 . reset () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout 1 . reset () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġser null () Ġ= Ġser (" null ", Ġnull ) ĊĊĊĠĠĠ Ġ@ Test Ġfun Ġlong () Ġ= Ġser (" long ", Ġ 1 L ) ĊĊĠĠĠ Ġ@ Test Ġfun Ġstring _ empty () Ġ= Ġser (" string _ empty ", Ġ"") ĊĊĠĠĠ Ġ@ Test Ġfun Ġstring () Ġ= Ġser (" string ", Ġ" 3 d 2 9 d 0 2 3 0 0 9 3 2 9 d 2 3 -- 0 3 2 d 2 3 d 3 me o ie ") ĊĊĠĠĠ Ġ@ Test Ġfun Ġpo jo () Ġ= Ġser (" pojo ", ĠEl sa Bench Po jo ( 1 , 2 )) ĊĊĠĠĠ Ġ@ Test Ġfun Ġmap () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm Ġ= ĠHashMap < Int , Int >() ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 0 Ġuntil Ġ 1 0 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm [ i ] Ġ= Ġi ĊĠĠĠĠĠĠĠ Ġser (" map ", Ġm ) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ Ċ data Ġclass ĠEl sa Bench Po jo ( val Ġa : Long , Ġval Ġb : Int ): ĠSerializable Ġ{ Ċ Ċ }