package Ġkotlinx . benchmark . gradle Ċ Ċ import Ġorg . gradle . api . tasks .* Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp .* Ċ Ċ open Ġclass ĠBenchmark Configuration ( val Ġextension : ĠB ench marks Extension , Ġval Ġname : ĠString ) Ġ{ ĊĠĠĠ Ġvar Ġiterations : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġwarm ups : ĠInt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġiteration Time : ĠLong ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġiteration TimeUnit : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġmode : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġoutput TimeUnit : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġreport Format : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġincludes : ĠMutable List < String > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġvar Ġexclude s : ĠMutable List < String > Ġ= Ġmutable ListOf () ĊĠĠĠ Ġvar Ġparams : ĠMutable Map < String , ĠMutable List < Any ? >> Ġ= Ġmutable Map Of () ĊĠĠĠ Ġvar Ġadvanced : ĠMutable Map < String , ĠAny ?> Ġ= Ġmutable Map Of () ĊĊĠĠĠ Ġfun Ġinclude ( pattern : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġincludes . add ( pattern ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġexclude ( pattern : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġexclude s . add ( pattern ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġparam ( name : ĠString , Ġvar arg Ġvalue : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġparams . get Or Put ( name ) Ġ{ Ġmutable ListOf () Ġ} ĊĠĠĠĠĠĠĠ Ġvalues . addAll ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadvanced ( name : ĠString , Ġvalue : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġadvanced [ name ] Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcapital ized Name () Ġ= Ġif Ġ( name Ġ== Ġ" main ") Ġ"" Ġelse Ġname . capitalize () ĊĠĠĠ Ġfun Ġprefix Name ( suffix : ĠString ) Ġ= Ġif Ġ( name Ġ== Ġ" main ") Ġsuffix Ġelse Ġname Ġ+ Ġsuffix . capitalize () ĊĠĠĠ Ġfun Ġreport File Ext (): ĠString Ġ= Ġreport Format ?. toLowerCase () Ġ?: Ġ" json " Ċ } Ċ Ċ open Ġclass ĠBenchmark Target ( val Ġextension : ĠB ench marks Extension , Ġval Ġname : ĠString ) Ġ{ ĊĠĠĠ Ġvar Ġworking Dir : ĠString ? Ġ= Ġnull Ċ } Ċ Ċ abstract Ġclass ĠJ vm Benchmark Target ( ĊĠĠĠ Ġextension : ĠB ench marks Extension , ĊĠĠĠ Ġname : ĠString Ċ ) Ġ: ĠBenchmark Target ( extension , Ġname ) Ġ{ ĊĠĠĠ Ġvar Ġj mh Version Ġ= Ġ( extension . project . find Property (" benchmarks _ j mh _ version ") Ġas ? ĠString ) Ġ?: Ġ" 1 . 2 1 " Ċ } Ċ Ċ class ĠJava Benchmark Target ( ĊĠĠĠ Ġextension : ĠB ench marks Extension , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġval Ġsource Set : ĠSource Set Ċ ) Ġ: ĠJ vm Benchmark Target ( extension , Ġname ) Ċ Ċ open Ġclass ĠKotlin Jvm Benchmark Target ( ĊĠĠĠ Ġextension : ĠB ench marks Extension , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġval Ġcompilation : ĠKotlin Jvm Compilation Ċ ) Ġ: ĠJ vm Benchmark Target ( extension , Ġname ) Ċ Ċ class ĠJs Benchmark Target ( ĊĠĠĠ Ġextension : ĠB ench marks Extension , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġval Ġcompilation : ĠKotlin Js Compilation Ċ ) Ġ: ĠBenchmark Target ( extension , Ġname ) Ġ{ Ċ Ċ } Ċ Ċ class ĠNative Benchmark Target ( ĊĠĠĠ Ġextension : ĠB ench marks Extension , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġval Ġcompilation : ĠKotlin Native Compilation Ċ ) Ġ: ĠBenchmark Target ( extension , Ġname ) Ġ{ Ċ Ċ } Ċ