diff --git a/benchmark/benchmarks.jl b/benchmark/benchmarks.jl index 5b5b7c03f8..6f5325d86c 100644 --- a/benchmark/benchmarks.jl +++ b/benchmark/benchmarks.jl @@ -1,6 +1,6 @@ # To run: # using PkgBenchmark, Enzyme -# result = benchmarkpkg(KernelAbstractions) +# result = benchmarkpkg(Enzyme) # export_markdown("benchmark/perf.md", result) # Note: if you change this file you will need to delete an regenerate tune.json @@ -13,4 +13,22 @@ const SUITE = BenchmarkGroup() SUITE["basics"] = BenchmarkGroup() -SUITE["basics"]["overhead"] = @benchmarkable Enzyme.autodiff(Forward, identity, Const(1.0)) \ No newline at end of file +SUITE["basics"]["overhead"] = @benchmarkable Enzyme.autodiff(Forward, identity, Const(1.0)) + +SUITE["basics"]["make_zero"] = BenchmarkGroup() +SUITE["basics"]["remake_zero!"] = BenchmarkGroup() + +p = (; x = 1.0, y = zeros(3)) + +SUITE["basics"]["make_zero"]["namedtuple"] = @benchmarkable Enzyme.make_zero($p) +SUITE["basics"]["remake_zero!"]["namedtuple"] = @benchmarkable Enzyme.remake_zero!(dp) setup = (dp = Enzyme.make_zero(p)) + +struct MyStruct + x::Float64 + y::Vector{Float64} +end + +x = MyStruct(1.0, zeros(3)) + +SUITE["basics"]["make_zero"]["struct"] = @benchmarkable Enzyme.make_zero($x) +SUITE["basics"]["remake_zero!"]["struct"] = @benchmarkable Enzyme.remake_zero!(dx) setup = (dx = Enzyme.make_zero(x))