package Ġtask . matrix . io Ċ Ċ import Ġorg . openjdk . j mh . annotations . Scope Ċ import Ġorg . openjdk . j mh . annotations . State Ċ import Ġtask . executor . Task Executor Factory Ċ import Ġjava . io . File Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ Ċ @ State ( Scope . Benchmark ) Ċ open Ġclass ĠBase Execution Plan ( ĊĠĠĠ Ġopen Ġvar Ġcharacters Per File : ĠInt Ġ= Ġ 1 , ĊĠĠĠ Ġopen Ġvar Ġfiles To Write : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠ Ġopen Ġvar Ġfiles Per Sub task : ĠInt Ġ= Ġ 1 0 , ĊĠĠĠ Ġopen Ġvar Ġfile BlockSize : ĠInt Ġ= Ġ 1 , ĊĠĠĠ Ġopen Ġvar Ġthread Count : ĠInt Ġ= Ġ 1 , ĊĠĠĠ Ġopen Ġvar Ġfile Write Algorithm : ĠFile Write Algorithm Ġ= ĠFile Write Algorithm . SERIAL _ SEQUENTIAL _ WRITE , ĊĠĠĠ Ġopen Ġvar Ġtask Executor Factory : ĠTask Executor Factory Ġ= ĠTask Executor Factory . THREAD _ POOL _ EXECUT OR , ĊĠĠĠ Ġopen Ġvar Ġbenchmark Context : ĠString Ġ= Ġ"", ĊĠĠĠ Ġprivate Ġval Ġdirectory Prefix : ĠString Ġ= Ġ" base ", Ċ ) Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġtemp Dir : ĠPath ĊĊĠĠĠ Ġlateinit Ġvar Ġfile Content : ĠString ĊĊĠĠĠ Ġprotected Ġfun ĠsetUp Iteration () Ġ{ ĊĠĠĠĠĠĠĠ Ġtemp Dir Ġ= ĠFiles . create Temp Directory ( directory Prefix ) ĊĠĠĠĠĠĠĠ Ġfile Content Ġ= Ġ" 0 ". repeat ( characters Per File ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠtearDown Iteration () Ġ{ ĊĠĠĠĠĠĠĠ Ġtemp Dir ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to File () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. list Files () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. or Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( File :: to Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġpath Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFiles . delete IfExists ( path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠFiles . delete IfExists ( temp Dir ) ĊĠĠĠ Ġ} Ċ }