Skip to content

Commit 5e3f6b9

Browse files
fredrikekreararslan
authored andcommitted
add some benchmarks for sparse matrix construction (#110)
1 parent ef99131 commit 5e3f6b9

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/sparse/SparseBenchmarks.jl

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,4 +138,23 @@ for b in values(g)
138138
b.params.time_tolerance = 0.3
139139
end
140140

141+
################
142+
# constructors #
143+
################
144+
g = addgroup!(SUITE, "constructors")
145+
146+
const UPLO = VERSION >= v"0.7.0-DEV.884" ? :U : true
147+
for s in sizes
148+
nz = floor(Int, 1e-4*s*s)
149+
I = samerand(1:s, nz)
150+
J = samerand(1:s, nz)
151+
V = randvec(nz)
152+
g["IV", s] = @benchmarkable sparsevec($I, $V)
153+
g["IJV", s] = @benchmarkable sparse($I, $J, $V)
154+
g["Diagonal", s] = @benchmarkable sparse($(Diagonal(randvec(s))))
155+
g["Bidiagonal", s] = @benchmarkable sparse($(Bidiagonal(randvec(s), randvec(s-1), UPLO)))
156+
g["Tridiagonal", s] = @benchmarkable sparse($(Tridiagonal(randvec(s-1), randvec(s), randvec(s-1))))
157+
g["SymTridiagonal", s] = @benchmarkable sparse($(SymTridiagonal(randvec(s), randvec(s-1))))
158+
end
159+
141160
end # module

0 commit comments

Comments
 (0)