package Ġcom . so y wiz . kor im . bench Ċ Ċ /* Ċ import Ġcom . so y wiz . k lock .* Ċ import Ġcom . so y wiz . k lock . benchmark .* Ċ import Ġcom . so y wiz . kor im . color .* Ċ Ċ object ĠK or im Benchmark Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġ 4 0 9 6 ĊĠĠĠĠĠĠĠ Ġval Ġcolors 1 Ġ= ĠR g ba Pre multiplied Array ( size ) ĊĠĠĠĠĠĠĠ Ġval Ġcolors 2 Ġ= ĠR g ba Pre multiplied Array ( size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( n Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors 1 [ n ] Ġ= ĠRGB AP rem ultip lied ( n , Ġn , Ġn , Ġn ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors 2 [ n ] Ġ= ĠRGB AP rem ultip lied ( n Ġ* Ġ 2 , Ġn Ġ* Ġ 2 , Ġn Ġ* Ġ 2 , Ġn Ġ* Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( n Ġin Ġ 0 Ġuntil Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Benchmark (" mix ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( n Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors 1 [ n ] Ġ= ĠRGB AP rem ultip lied . mix ( colors 1 [ n ], Ġcolors 2 [ n ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Benchmark (" mix 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( n Ġin Ġ 0 Ġuntil Ġsize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors 1 [ n ] Ġ= ĠRGB AP rem ultip lied . mix ( colors 1 [ n ], Ġcolors 2 [ n ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġprint Benchmark ( name : ĠString , Ġfull : ĠBoolean Ġ= Ġfalse , Ġno inline Ġblock : Ġ() Ġ-> ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġbenchmark ( block ) ĊĠĠĠĠĠĠĠ Ġprintln (" Benchmark Ġ'$ name ' Ġ: Ġ$ result ") ĊĠĠĠ Ġ} Ċ } Ċ */ Ċ