Skip to content

Instantly share code, notes, and snippets.

@Sacha0
Last active January 26, 2016 02:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Sacha0/30296d6a55506d0a88a0 to your computer and use it in GitHub Desktop.
Save Sacha0/30296d6a55506d0a88a0 to your computer and use it in GitHub Desktop.
using Benchmarks: @benchmark, SummaryStatistics
function prettytimesandmem(bench)
stats = SummaryStatistics(bench)
timecenter = stats.elapsed_time_center
timelower = get(stats.elapsed_time_lower)
timeupper = get(stats.elapsed_time_upper)
numallocs = stats.allocations
bytesalloc = stats.bytes_allocated
# based on Benchmarks.pretty_time_string
tscale, tunits =
timecenter < 10^4 ? (10^0, "ns") :
timecenter < 10^7 ? (10^3, "μs") :
timecenter < 10^10 ? (10^6, "ms") :
(10^9, " s")
mscale, munits =
bytesalloc < 10^4 ? (10^0, " B") :
bytesalloc < 10^7 ? (10^3, "KB") :
bytesalloc < 10^10 ? (10^6, "MB") :
(10^9, "GB")
# @sprintf("%3.0f%s [%3.0f,%3.0f] (%4.1f%s,%3d)",
@sprintf("%4.0f%s [%4.0f,%4.0f] (%4.0f%s,%3d)",
timecenter/tscale, tunits, timelower/tscale, timeupper/tscale,
bytesalloc/mscale, munits, numallocs)
end
function getIJV(A::SparseMatrixCSC)
Acolval = Vector{eltype(A.colptr)}(nnz(A))
for j in 1:A.n
Acolval[A.colptr[j]:(A.colptr[j+1]-1)] = j
end
A.rowval, Acolval, A.nzval
end
include("mitsparse.jl")
smallN = 1000;
intmedN = 100_000;
largeN = 500_000;
configs = (
("small/sqr/1", smallN, smallN, 1),
("small/sqr/10", smallN, smallN, 10),
("small/tall/1", smallN*2, smallN/2, 1),
("small/tall/10", smallN*2, smallN/2, 10),
("small/wide/1", smallN/2, smallN*2, 1),
("small/wide/10", smallN/2, smallN*2, 10),
("intmed/sqr/1", intmedN, intmedN, 1),
("intmed/sqr/10", intmedN, intmedN, 10),
("intmed/tall/1", intmedN*2, intmedN/2, 1),
("intmed/tall/10", intmedN*2, intmedN/2, 10),
("intmed/wide/1", intmedN/2, intmedN*2, 1),
("intmed/wide/10", intmedN/2, intmedN*2, 10),
("large/sqr/1", largeN, largeN, 1),
("large/sqr/10", largeN, largeN, 10),
("large/tall/1", largeN*2, largeN/2, 1),
("large/tall/10", largeN*2, largeN/2, 10),
("large/wide/1", largeN/2, largeN*2, 1),
("large/wide/10", largeN/2, largeN*2, 10) );
for (confname, mf, nf, np) in configs
m, n = Int(mf), Int(nf)
p = np/min(m,n)
randcsc = sprand(m, n, p)
nnzrandcsc = nnz(randcsc)
ijv_orig = getIJV(randcsc)
getnumreps(repfrac, nnz) = round(Int, nnz * repfrac)
getrepinds(numreps, nnz) = rand(1:nnz, numreps)
getaperm(numreps, nnz) = randperm(nnz + numreps)
addrepsall(ijv, repinds) = map(v -> vcat(v, v[repinds]), ijv)
permall(ijv, aperm) = map(v -> v[aperm], ijv)
function repsandperm(repfrac, ijv)
nnz = length(ijv[1])
numreps = getnumreps(repfrac, nnz)
repinds = getrepinds(numreps, nnz)
ijvwithreps = addrepsall(ijv, repinds)
permall(ijvwithreps, getaperm(numreps, nnz))
end
ijv_noreps = repsandperm(0, ijv_orig)
ijv_fewreps = repsandperm(1/10, ijv_orig)
ijv_manyreps = repsandperm(1/2, ijv_orig)
ijv_mostlyreps = repsandperm(2, ijv_orig)
for (I, J, V) in (ijv_noreps, ijv_fewreps, ijv_manyreps, ijv_mostlyreps)
@assert mitsparse(I, J, V, m, n, Base.AddFun()) == sparse(I, J, V, m, n, Base.AddFun())
end
wm, wt = 4, 32;
for runnum in 1:2
println("run $runnum for $confname matrix: $m x $n with ~$np entries per row or col, whichever is larger")
println(string(" meth ",
"$(lpad("no reps", wt)) ",
"$(lpad("few reps (~1 in 11 entries)", wt)) ",
"$(lpad("many reps (~1 in 3 entries)", wt)) ",
"$(lpad("mostly reps (~2 in 3 entries)", wt))"))
@printf(" %s:", lpad("base", wm))
for (I,J,V) in (ijv_noreps, ijv_fewreps, ijv_manyreps, ijv_mostlyreps)
@printf(" %s,", prettytimesandmem(@benchmark sparse(I, J, V, m, n, Base.AddFun())))
end
println()
@printf(" %s:", lpad("mit", wm))
for (I,J,V) in (ijv_noreps, ijv_fewreps, ijv_manyreps, ijv_mostlyreps)
@printf(" %s,", prettytimesandmem(@benchmark mitsparse(I, J, V, m, n, Base.AddFun())))
end
println()
end
println()
end
run 1 for small/sqr/1 matrix: 1000 x 1000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 42μs [ 41, 43] ( 73KB, 10), 44μs [ 42, 45] ( 74KB, 10), 49μs [ 48, 50] ( 80KB, 10), 73μs [ 71, 75] ( 104KB, 12),
mit: 29μs [ 28, 29] ( 56KB, 10), 30μs [ 30, 31] ( 58KB, 10), 35μs [ 34, 36] ( 64KB, 10), 56μs [ 54, 58] ( 88KB, 12),
run 2 for small/sqr/1 matrix: 1000 x 1000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 43μs [ 41, 44] ( 73KB, 10), 46μs [ 45, 47] ( 74KB, 10), 53μs [ 51, 54] ( 80KB, 10), 75μs [ 73, 78] ( 104KB, 12),
mit: 30μs [ 29, 31] ( 56KB, 10), 30μs [ 29, 31] ( 58KB, 10), 36μs [ 35, 37] ( 64KB, 10), 56μs [ 54, 58] ( 88KB, 12),
run 1 for small/sqr/10 matrix: 1000 x 1000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 258μs [ 165, 350] ( 364KB, 14), 303μs [ 186, 421] ( 381KB, 14), 398μs [ 236, 560] ( 445KB, 14), 788μs [ 604, 971] ( 688KB, 14),
mit: 238μs [ 230, 245] ( 348KB, 12), 256μs [ 83, 429] ( 364KB, 12), 305μs [ 187, 424] ( 429KB, 12), 630μs [ 474, 786] ( 672KB, 12),
run 2 for small/sqr/10 matrix: 1000 x 1000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 272μs [ 157, 387] ( 364KB, 14), 322μs [ 127, 517] ( 381KB, 14), 404μs [ 195, 613] ( 445KB, 14), 755μs [ 605, 905] ( 688KB, 14),
mit: 220μs [ 122, 317] ( 348KB, 12), 271μs [ 119, 422] ( 364KB, 12), 324μs [ 153, 495] ( 429KB, 12), 663μs [ 451, 875] ( 672KB, 12),
run 1 for small/tall/1 matrix: 2000 x 500 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 89μs [ 86, 91] ( 119KB, 10), 94μs [ 91, 96] ( 123KB, 12), 111μs [ 108, 114] ( 135KB, 12), 153μs [ 149, 158] ( 182KB, 12),
mit: 56μs [ 55, 57] ( 87KB, 10), 59μs [ 57, 60] ( 90KB, 12), 75μs [ 73, 77] ( 103KB, 12), 118μs [ 114, 121] ( 150KB, 12),
run 2 for small/tall/1 matrix: 2000 x 500 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 92μs [ 89, 94] ( 119KB, 10), 96μs [ 94, 99] ( 123KB, 12), 113μs [ 110, 116] ( 135KB, 12), 156μs [ 151, 160] ( 182KB, 12),
mit: 58μs [ 56, 59] ( 87KB, 10), 58μs [ 57, 60] ( 90KB, 12), 75μs [ 73, 77] ( 103KB, 12), 117μs [ 114, 120] ( 150KB, 12),
run 1 for small/tall/10 matrix: 2000 x 500 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 781μs [ 538,1023] ( 694KB, 14), 805μs [ 605,1006] ( 726KB, 14), 1021μs [ 817,1225] ( 853KB, 14), 1673μs [1394,1952] (1331KB, 14),
mit: 687μs [ 511, 863] ( 662KB, 12), 744μs [ 526, 961] ( 694KB, 12), 906μs [ 672,1139] ( 821KB, 12), 1568μs [1287,1850] (1299KB, 12),
run 2 for small/tall/10 matrix: 2000 x 500 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 729μs [ 536, 922] ( 694KB, 14), 830μs [ 642,1019] ( 726KB, 14), 1062μs [ 836,1288] ( 853KB, 14), 1710μs [1460,1959] (1331KB, 14),
mit: 665μs [ 471, 859] ( 662KB, 12), 695μs [ 488, 902] ( 694KB, 12), 918μs [ 688,1148] ( 821KB, 12), 1503μs [1244,1763] (1299KB, 12),
run 1 for small/wide/1 matrix: 500 x 2000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 64μs [ 62, 66] ( 118KB, 10), 67μs [ 66, 69] ( 121KB, 12), 80μs [ 78, 82] ( 133KB, 12), 127μs [ 123, 130] ( 178KB, 12),
mit: 49μs [ 47, 50] ( 97KB, 10), 51μs [ 50, 52] ( 100KB, 12), 63μs [ 61, 65] ( 113KB, 12), 102μs [ 99, 105] ( 158KB, 12),
run 2 for small/wide/1 matrix: 500 x 2000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 65μs [ 63, 66] ( 118KB, 10), 69μs [ 67, 71] ( 121KB, 12), 83μs [ 81, 85] ( 133KB, 12), 121μs [ 118, 125] ( 178KB, 12),
mit: 46μs [ 45, 47] ( 97KB, 10), 47μs [ 46, 48] ( 100KB, 12), 60μs [ 59, 61] ( 113KB, 12), 99μs [ 96, 101] ( 158KB, 12),
run 1 for small/wide/10 matrix: 500 x 2000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 769μs [ 569, 969] ( 700KB, 14), 827μs [ 591,1062] ( 733KB, 14), 1018μs [ 821,1214] ( 861KB, 14), 1550μs [1280,1819] (1344KB, 14),
mit: 685μs [ 452, 919] ( 680KB, 12), 726μs [ 523, 929] ( 712KB, 12), 958μs [ 724,1193] ( 841KB, 12), 1433μs [1175,1691] (1324KB, 12),
run 2 for small/wide/10 matrix: 500 x 2000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 723μs [ 526, 919] ( 700KB, 14), 788μs [ 591, 986] ( 733KB, 14), 1085μs [ 856,1314] ( 861KB, 14), 1556μs [1279,1833] (1344KB, 14),
mit: 735μs [ 517, 954] ( 680KB, 12), 702μs [ 503, 901] ( 712KB, 12), 912μs [ 669,1154] ( 841KB, 12), 1384μs [1157,1610] (1324KB, 12),
run 1 for intmed/sqr/1 matrix: 100000 x 100000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 9103μs [6167,12039] (7196KB, 19), 9209μs [8244,10173] (7356KB, 19), 11ms [ 10, 12] (7995KB, 19), 19ms [ 17, 20] ( 10MB, 19),
mit: 6644μs [5807,7481] (5596KB, 15), 7228μs [6554,7901] (5756KB, 15), 9178μs [8332,10023] (6395KB, 15), 16ms [ 15, 17] (8792KB, 15),
run 2 for intmed/sqr/1 matrix: 100000 x 100000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 8737μs [7772,9702] (7196KB, 19), 9294μs [8302,10285] (7356KB, 19), 11ms [ 10, 12] (7995KB, 19), 18ms [ 17, 19] ( 10MB, 19),
mit: 6534μs [5749,7319] (5596KB, 15), 7052μs [6291,7812] (5756KB, 15), 9031μs [8331,9730] (6395KB, 15), 16ms [ 15, 17] (8792KB, 15),
run 1 for intmed/sqr/10 matrix: 100000 x 100000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 87ms [ 84, 89] ( 36MB, 19), 94ms [ 92, 96] ( 38MB, 19), 116ms [ 110, 122] ( 44MB, 19), 193ms [ 188, 197] ( 68MB, 19),
mit: 88ms [ 86, 91] ( 34MB, 15), 93ms [ 91, 95] ( 36MB, 15), 115ms [ 112, 118] ( 42MB, 15), 187ms [ 183, 191] ( 66MB, 15),
run 2 for intmed/sqr/10 matrix: 100000 x 100000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 86ms [ 84, 87] ( 36MB, 19), 93ms [ 91, 95] ( 38MB, 19), 116ms [ 114, 118] ( 44MB, 19), 192ms [ 187, 198] ( 68MB, 19),
mit: 87ms [ 85, 89] ( 34MB, 15), 94ms [ 92, 96] ( 36MB, 15), 113ms [ 111, 116] ( 42MB, 15), 185ms [ 180, 190] ( 66MB, 15),
run 1 for intmed/tall/1 matrix: 200000 x 50000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 19ms [ 18, 20] ( 12MB, 19), 22ms [ 21, 22] ( 12MB, 19), 28ms [ 26, 29] ( 14MB, 19), 48ms [ 47, 49] ( 18MB, 19),
mit: 16ms [ 14, 17] (8789KB, 15), 17ms [ 16, 18] (9108KB, 15), 22ms [ 21, 23] ( 10MB, 15), 40ms [ 38, 41] ( 15MB, 15),
run 2 for intmed/tall/1 matrix: 200000 x 50000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 20ms [ 19, 20] ( 12MB, 19), 21ms [ 20, 22] ( 12MB, 19), 27ms [ 26, 28] ( 14MB, 19), 47ms [ 46, 48] ( 18MB, 19),
mit: 16ms [ 15, 17] (8789KB, 15), 17ms [ 16, 18] (9108KB, 15), 22ms [ 21, 23] ( 10MB, 15), 40ms [ 38, 42] ( 15MB, 15),
run 1 for intmed/tall/10 matrix: 200000 x 50000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 175ms [ 171, 179] ( 70MB, 19), 192ms [ 187, 197] ( 73MB, 19), 265ms [ 250, 280] ( 86MB, 19), 484ms [ 472, 496] ( 134MB, 19),
mit: 170ms [ 164, 175] ( 66MB, 15), 184ms [ 179, 189] ( 70MB, 15), 251ms [ 234, 267] ( 82MB, 15), 459ms [ 444, 474] ( 130MB, 15),
run 2 for intmed/tall/10 matrix: 200000 x 50000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 174ms [ 170, 179] ( 70MB, 19), 190ms [ 185, 194] ( 73MB, 19), 264ms [ 248, 281] ( 86MB, 19), 487ms [ 459, 516] ( 134MB, 19),
mit: 174ms [ 168, 180] ( 66MB, 15), 186ms [ 182, 190] ( 70MB, 15), 253ms [ 237, 269] ( 82MB, 15), 455ms [ 441, 470] ( 130MB, 15),
run 1 for intmed/wide/1 matrix: 50000 x 200000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 17ms [ 16, 18] ( 12MB, 19), 19ms [ 18, 21] ( 12MB, 19), 22ms [ 21, 24] ( 14MB, 19), 34ms [ 33, 35] ( 18MB, 19),
mit: 15ms [ 14, 16] (9984KB, 15), 17ms [ 16, 18] ( 10MB, 15), 20ms [ 19, 21] ( 12MB, 15), 32ms [ 31, 33] ( 16MB, 15),
run 2 for intmed/wide/1 matrix: 50000 x 200000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 17ms [ 16, 18] ( 12MB, 19), 19ms [ 17, 21] ( 12MB, 19), 22ms [ 21, 24] ( 14MB, 19), 34ms [ 33, 36] ( 18MB, 19),
mit: 15ms [ 14, 16] (9984KB, 15), 17ms [ 16, 18] ( 10MB, 15), 20ms [ 19, 21] ( 12MB, 15), 32ms [ 30, 33] ( 16MB, 15),
run 1 for intmed/wide/10 matrix: 50000 x 200000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 171ms [ 166, 176] ( 70MB, 19), 184ms [ 180, 189] ( 73MB, 19), 247ms [ 232, 261] ( 86MB, 19), 412ms [ 401, 423] ( 134MB, 19),
mit: 171ms [ 165, 177] ( 68MB, 15), 181ms [ 176, 186] ( 71MB, 15), 236ms [ 220, 253] ( 84MB, 15), 397ms [ 385, 409] ( 132MB, 15),
run 2 for intmed/wide/10 matrix: 50000 x 200000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 170ms [ 166, 174] ( 70MB, 19), 180ms [ 175, 185] ( 73MB, 19), 247ms [ 233, 262] ( 86MB, 19), 408ms [ 398, 419] ( 134MB, 19),
mit: 170ms [ 165, 176] ( 68MB, 15), 183ms [ 179, 188] ( 71MB, 15), 237ms [ 221, 254] ( 84MB, 15), 398ms [ 388, 407] ( 132MB, 15),
run 1 for large/sqr/1 matrix: 500000 x 500000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 106ms [ 103, 108] ( 36MB, 19), 110ms [ 108, 113] ( 37MB, 19), 132ms [ 129, 136] ( 40MB, 19), 206ms [ 197, 215] ( 52MB, 19),
mit: 95ms [ 94, 97] ( 28MB, 15), 102ms [ 101, 104] ( 29MB, 15), 123ms [ 120, 127] ( 32MB, 15), 186ms [ 175, 197] ( 44MB, 15),
run 2 for large/sqr/1 matrix: 500000 x 500000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 107ms [ 103, 110] ( 36MB, 19), 112ms [ 109, 116] ( 37MB, 19), 134ms [ 130, 139] ( 40MB, 19), 198ms [ 192, 205] ( 52MB, 19),
mit: 95ms [ 93, 97] ( 28MB, 15), 102ms [ 100, 104] ( 29MB, 15), 124ms [ 120, 127] ( 32MB, 15), 186ms [ 176, 196] ( 44MB, 15),
run 1 for large/sqr/10 matrix: 500000 x 500000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 967ms [ 908,1026] ( 180MB, 19), 1023ms [ 992,1054] ( 188MB, 19), 1283ms [1233,1333] ( 220MB, 19), 2187ms [2056,2318] ( 340MB, 19),
mit: 933ms [ 917, 949] ( 172MB, 15), 1004ms [ 978,1031] ( 180MB, 15), 1243ms [1181,1305] ( 212MB, 15), 2032ms [1934,2130] ( 332MB, 15),
run 2 for large/sqr/10 matrix: 500000 x 500000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 963ms [ 935, 992] ( 180MB, 19), 1025ms [ 995,1054] ( 188MB, 19), 1269ms [1174,1364] ( 220MB, 19), 2176ms [2016,2336] ( 340MB, 19),
mit: 932ms [ 906, 957] ( 172MB, 15), 1029ms [ 976,1082] ( 180MB, 15), 1241ms [1196,1285] ( 212MB, 15), 2028ms [2013,2042] ( 332MB, 15),
run 1 for large/tall/1 matrix: 1000000 x 250000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 189ms [ 179, 198] ( 60MB, 19), 203ms [ 194, 211] ( 62MB, 19), 252ms [ 239, 265] ( 68MB, 19), 431ms [ 407, 455] ( 92MB, 19),
mit: 172ms [ 169, 176] ( 44MB, 15), 182ms [ 178, 186] ( 46MB, 15), 226ms [ 221, 232] ( 52MB, 15), 406ms [ 372, 439] ( 76MB, 15),
run 2 for large/tall/1 matrix: 1000000 x 250000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 187ms [ 177, 197] ( 60MB, 19), 203ms [ 193, 213] ( 62MB, 19), 249ms [ 236, 261] ( 68MB, 19), 424ms [ 404, 444] ( 92MB, 19),
mit: 169ms [ 164, 173] ( 44MB, 15), 184ms [ 181, 188] ( 46MB, 15), 228ms [ 223, 232] ( 52MB, 15), 396ms [ 374, 418] ( 76MB, 15),
run 1 for large/tall/10 matrix: 1000000 x 250000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 1948ms [1862,2034] ( 348MB, 19), 2160ms [1862,2457] ( 364MB, 19), 2676ms [2604,2748] ( 428MB, 19), *Benchmarks.jl threw NullException*
mit: 1915ms [1777,2052] ( 332MB, 15), 2043ms [1870,2216] ( 348MB, 15), 2612ms [2519,2704] ( 412MB, 15), *Benchmarks.jl threw NullException*
run 2 for large/tall/10 matrix: 1000000 x 250000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 1934ms [1781,2087] ( 348MB, 19), 2107ms [2066,2148] ( 364MB, 19), 2667ms [2612,2723] ( 428MB, 19), *Benchmarks.jl threw NullException*
mit: 1897ms [1806,1987] ( 332MB, 15), 2058ms [1926,2190] ( 348MB, 15), 2635ms [2608,2663] ( 412MB, 15), *Benchmarks.jl threw NullException*
run 1 for large/wide/1 matrix: 250000 x 1000000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 196ms [ 187, 206] ( 60MB, 19), 205ms [ 194, 216] ( 62MB, 19), 242ms [ 229, 254] ( 68MB, 19), *Benchmarks.jl threw NullException*
mit: 179ms [ 174, 184] ( 50MB, 15), 191ms [ 186, 197] ( 52MB, 15), 223ms [ 218, 228] ( 58MB, 15), *Benchmarks.jl threw NullException*
run 2 for large/wide/1 matrix: 250000 x 1000000 with ~1 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 199ms [ 188, 210] ( 60MB, 19), 208ms [ 199, 218] ( 62MB, 19), 247ms [ 232, 262] ( 68MB, 19), *Benchmarks.jl threw NullException*
mit: 179ms [ 175, 183] ( 50MB, 15), 191ms [ 187, 195] ( 52MB, 15), 221ms [ 217, 225] ( 58MB, 15), *Benchmarks.jl threw NullException*
run 1 for large/wide/10 matrix: 250000 x 1000000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 2026ms [1881,2170] ( 348MB, 19), 2132ms [2061,2203] ( 364MB, 19), 2597ms [2322,2871] ( 428MB, 19), *Benchmarks.jl threw NullException*
mit: 1983ms [1836,2129] ( 338MB, 15), 2095ms [1990,2201] ( 354MB, 15), 2555ms [2418,2693] ( 418MB, 15), *Benchmarks.jl threw NullException*
run 2 for large/wide/10 matrix: 250000 x 1000000 with ~10 entries per row or col, whichever is larger
meth no reps few reps (~1 in 11 entries) many reps (~1 in 3 entries) mostly reps (~2 in 3 entries)
base: 2014ms [1919,2108] ( 348MB, 19), 2120ms [2117,2122] ( 364MB, 19), 2577ms [2552,2601] ( 428MB, 19), *Benchmarks.jl threw NullException*
mit: 1977ms [1926,2029] ( 338MB, 15), 2055ms [1935,2175] ( 354MB, 15), 2504ms [2450,2557] ( 418MB, 15), *Benchmarks.jl threw NullException*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment