plugins Ġ{ ĊĠĠĠ Ġkotlin (" multi platform ") ĊĠĠĠ Ġkotlin (" plugin . al lopen ") ĊĠĠĠ Ġid (" org . jetbrains . kotlin x . benchmark ") Ċ } Ċ Ċ all Open . annotation (" org . openjdk . j mh . annotations . State ") Ċ source Sets . register (" benchmarks ") Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġmaven (" https :// repo . kotlin . link ") ĊĠĠĠ Ġmaven (" https :// clo j ars . org / repo ") ĊĠĠĠ Ġmaven (" https :// jit pack . io ") ĊĠĠĠ Ġmaven (" http :// logic runch . research . it . uu . se / maven ") Ġ{ ĊĠĠĠĠĠĠĠ Ġis Allow In secure Protocol Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġj vm () ĊĊĠĠĠ Ġsource Sets Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommon Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - ast ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - core ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - coroutines ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - complex ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - stat ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - dimensions ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - for - real ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . jetbrains . kotlin x : kotlin x - benchmark - runtime : 0 . 3 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġj vm Main Ġby Ġgetting Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - commons ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - ej ml ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - nd 4 j ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - kot ling rad ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project (": k math - vik tor ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" org . nd 4 j : nd 4 j - native : 1 . 0 . 0 - beta 7 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġuncomment Ġif Ġyour Ġsystem Ġsupports ĠAV X 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġval Ġos Ġ= ĠSystem . getProperty (" os . name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġif Ġ( System . getProperty (" os . arch ") Ġin ĠarrayOf (" x 8 6 _ 6 4 ", Ġ" amd 6 4 ")) Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġos . startsWith (" Windows ") Ġ-> Ġimplementation (" org . nd 4 j : nd 4 j - native : 1 . 0 . 0 - beta 7 : windows - x 8 6 _ 6 4 - avx 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġos Ġ== Ġ" Linux " Ġ-> Ġimplementation (" org . nd 4 j : nd 4 j - native : 1 . 0 . 0 - beta 7 : linux - x 8 6 _ 6 4 - avx 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġos Ġ== Ġ" Mac ĠOS ĠX " Ġ-> Ġimplementation (" org . nd 4 j : nd 4 j - native : 1 . 0 . 0 - beta 7 : mac osx - x 8 6 _ 6 4 - avx 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠ Ġimplementation (" org . nd 4 j : nd 4 j - native - platform : 1 . 0 . 0 - beta 7 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠConfigure Ġbenchmark Ċ benchmark Ġ{ ĊĠĠĠ Ġ// ĠSetup Ġconfigurations ĊĠĠĠ Ġtargets Ġ{ ĊĠĠĠĠĠĠĠ Ġregister (" jvm ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġkotlinx . benchmark . gradle . Benchmark Configuration . common Configuration () Ġ{ ĊĠĠĠĠĠĠĠ Ġwarm ups Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġiterations Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġiteration Time Ġ= Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġiteration TimeUnit Ġ= Ġ" ms " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigurations . register (" buffer ") Ġ{ ĊĠĠĠĠĠĠĠ Ġcommon Configuration () ĊĠĠĠĠĠĠĠ Ġinclude (" Buffer Benchmark ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigurations . register (" dot ") Ġ{ ĊĠĠĠĠĠĠĠ Ġcommon Configuration () ĊĠĠĠĠĠĠĠ Ġinclude (" Dot Benchmark ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigurations . register (" expressions ") Ġ{ ĊĠĠĠĠĠĠĠ Ġcommon Configuration () ĊĠĠĠĠĠĠĠ Ġinclude (" Expressions Inter pre ters Benchmark ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigurations . register (" matrix Inverse ") Ġ{ ĊĠĠĠĠĠĠĠ Ġcommon Configuration () ĊĠĠĠĠĠĠĠ Ġinclude (" Matrix Inverse Benchmark ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconfigurations . register (" big Int ") Ġ{ ĊĠĠĠĠĠĠĠ Ġcommon Configuration () ĊĠĠĠĠĠĠĠ Ġinclude (" BigInt Benchmark ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠFix Ġkotlinx - benchmarks Ġbug Ċ after Evaluate Ġ{ ĊĠĠĠ Ġval Ġj vm Benchmark Jar Ġby Ġtasks . getting ( org . gradle . jvm . tasks . Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġduplicates Strategy Ġ= ĠD uplicates Strategy . EXCL UDE ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ kotlin . source Sets . all Ġ{ ĊĠĠĠ Ġwith ( language Settings ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Experimental Annotation (" kotlin . contracts . Experimental Contracts ") ĊĠĠĠĠĠĠĠ Ġuse Experimental Annotation (" kotlin . Experimental Unsigned Types ") ĊĠĠĠĠĠĠĠ Ġuse Experimental Annotation (" space . k science . k math . misc . Un stable K Math API ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type < org . jetbrains . kotlin . gradle . tasks . Kotlin Compile > Ġ{ ĊĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠ Ġfree Compiler Args Ġ= Ġfree Compiler Args Ġ+ Ġ"- X jvm - default = all " ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ readme Ġ{ ĊĠĠĠ Ġmat urity Ġ= Ġru . mi pt . npm . gradle . Mat urity . EXPERIMENT AL Ċ } Ċ