v0.2.0 #206

Merged
altavir merged 210 commits from dev into master 2021-02-21 16:33:25 +03:00
7 changed files with 19 additions and 15 deletions
Showing only changes of commit e6876c3f97 - Show all commits

View File

@ -31,4 +31,4 @@ internal class BufferBenchmark {
companion object { companion object {
const val size: Int = 100 const val size: Int = 100
} }
} }

View File

@ -14,7 +14,7 @@ import org.openjdk.jmh.annotations.State
import kotlin.random.Random import kotlin.random.Random
@State(Scope.Benchmark) @State(Scope.Benchmark)
class DotBenchmark { internal class DotBenchmark {
companion object { companion object {
val random = Random(12224) val random = Random(12224)
val dim = 1000 val dim = 1000
@ -64,4 +64,4 @@ class DotBenchmark {
matrix1 dot matrix2 matrix1 dot matrix2
} }
} }
} }

View File

@ -1,6 +1,8 @@
package kscience.kmath.ast package kscience.kmath.benchmarks
import kscience.kmath.asm.compile import kscience.kmath.asm.compile
import kscience.kmath.ast.MstField
import kscience.kmath.ast.mstInField
import kscience.kmath.expressions.Expression import kscience.kmath.expressions.Expression
import kscience.kmath.expressions.expressionInField import kscience.kmath.expressions.expressionInField
import kscience.kmath.expressions.invoke import kscience.kmath.expressions.invoke
@ -28,7 +30,7 @@ internal class ExpressionsInterpretersBenchmark {
@Benchmark @Benchmark
fun mstExpression() { fun mstExpression() {
val expr = algebra.mstInField { val expr = algebra.mstInField {
symbol("x") * 2.0 + 2.0 / symbol("x") - 16.0 MstField.symbol("x") * 2.0 + 2.0 / MstField.symbol("x") - 16.0
} }
invokeAndSum(expr) invokeAndSum(expr)
@ -37,7 +39,7 @@ internal class ExpressionsInterpretersBenchmark {
@Benchmark @Benchmark
fun asmExpression() { fun asmExpression() {
val expr = algebra.mstInField { val expr = algebra.mstInField {
symbol("x") * 2.0 + 2.0 / symbol("x") - 16.0 MstField.symbol("x") * 2.0 + 2.0 / MstField.symbol("x") - 16.0
}.compile() }.compile()
invokeAndSum(expr) invokeAndSum(expr)
@ -60,4 +62,4 @@ internal class ExpressionsInterpretersBenchmark {
println(sum) println(sum)
} }
} }

View File

@ -1,5 +1,4 @@
package kscience.kmath.linear package kscience.kmath.benchmarks
import kotlinx.benchmark.Benchmark import kotlinx.benchmark.Benchmark
import kscience.kmath.commons.linear.CMMatrixContext import kscience.kmath.commons.linear.CMMatrixContext
@ -7,14 +6,17 @@ import kscience.kmath.commons.linear.CMMatrixContext.dot
import kscience.kmath.commons.linear.inverse import kscience.kmath.commons.linear.inverse
import kscience.kmath.ejml.EjmlMatrixContext import kscience.kmath.ejml.EjmlMatrixContext
import kscience.kmath.ejml.inverse import kscience.kmath.ejml.inverse
import kscience.kmath.linear.Matrix
import kscience.kmath.linear.MatrixContext
import kscience.kmath.linear.inverseWithLup
import kscience.kmath.linear.real
import kscience.kmath.operations.invoke import kscience.kmath.operations.invoke
import kscience.kmath.structures.Matrix
import org.openjdk.jmh.annotations.Scope import org.openjdk.jmh.annotations.Scope
import org.openjdk.jmh.annotations.State import org.openjdk.jmh.annotations.State
import kotlin.random.Random import kotlin.random.Random
@State(Scope.Benchmark) @State(Scope.Benchmark)
class LinearAlgebraBenchmark { internal class LinearAlgebraBenchmark {
companion object { companion object {
val random = Random(1224) val random = Random(1224)
val dim = 100 val dim = 100
@ -43,4 +45,4 @@ class LinearAlgebraBenchmark {
inverse(matrix) inverse(matrix)
} }
} }
} }

View File

@ -42,4 +42,4 @@ internal class NDFieldBenchmark {
val specializedField: RealNDField = NDAlgebra.real(dim, dim) val specializedField: RealNDField = NDAlgebra.real(dim, dim)
val genericField = NDAlgebra.field(RealField, Buffer.Companion::boxing, dim, dim) val genericField = NDAlgebra.field(RealField, Buffer.Companion::boxing, dim, dim)
} }
} }

View File

@ -49,4 +49,4 @@ internal class ViktorBenchmark {
var res = one var res = one
repeat(n) { res = res + one } repeat(n) { res = res + one }
} }
} }

View File

@ -46,4 +46,4 @@ internal class ViktorLogBenchmark {
res = fortyTwo.log() res = fortyTwo.log()
} }
} }
} }