# Created by Octave 3.6.1, Sun Apr 01 21:17:46 2012 UTC # name: cache # type: cell # rows: 3 # columns: 11 # name: # type: sq_string # elements: 1 # length: 14 benchmark_dtmm # name: # type: sq_string # elements: 1 # length: 679 function benchmark_dtmm (m, n, nvec) description: Dense transposed matrix-matrix and matrix-vector multiplication benchmark. This is to test the "compound operators" feature introduced in Octave. arguments: m = row dimension of matrices n = col dimension of matrices nvec = number of vector op repeats results: time_tmm = Time for A'*B (A,B m-by-n matrices) time_smm = Time for A'*A time_mtm = Time for A*B' (A,B n-by-m matrices) time_msm = Time for A*A' time_tmv = Time for A'*v nvec-times (A m-by-n matrix) ratio_tmv = Ratio to precomputed transpose time time_mtv = Time for v*A' nvec-times (A m-by-n matrix) ratio_mtv = Ratio to precomputed transpose time # name: # type: sq_string # elements: 1 # length: 80 function benchmark_dtmm (m, n, nvec) description: Dense transposed matrix-mat # name: # type: sq_string # elements: 1 # length: 15 benchmark_index # name: # type: sq_string # elements: 1 # length: 608 function benchmark_index (n, rep) description: Test speed of array indexing. arguments: n = array size rep = number of repeats results: time_slice1 = time for a(i:j) time_slice1s = time for a(i:k:j) time_slice1v = time for a(idx) time_slice2c = time for a(:,i:j) time_slice2r = time for a(i:j,:) time_slice2cv = time for a(:,idx) time_slice2rv = time for a(idx,:) time_slicenc = time for a(:,:,i:j,k) time_slicend = time for a(:,:,k,i:j) time_slicens = time for a(i,j,k,:) time_spreadr = time for a(ones(1, k), :), a row vector time_spreadc = time for a(:, ones(1, k)), a column vector # name: # type: sq_string # elements: 1 # length: 79 function benchmark_index (n, rep) description: Test speed of array indexing. # name: # type: sq_string # elements: 1 # length: 17 benchmark_intmath # name: # type: sq_string # elements: 1 # length: 1763 function benchmark_intmath (n, ratio) description: Test speed of integer math & conversions. arguments: n = array size ratio = ratio of intmath for generating integers results: time_uint8_conv = time to convert real vector to uint8 time_uint8_add = time to add two uint8 vectors time_uint8_sub = time to subtract two uint8 vectors time_uint8_mul = time to multiply two uint8 vectors time_uint8_div = time to divide two uint8 vectors time_int8_conv = time to convert real vector to int8 time_int8_add = time to add two int8 vectors time_int8_sub = time to subtract two int8 vectors time_int8_mul = time to multiply two int8 vectors time_int8_div = time to divide two int8 vectors time_uint16_conv = time to convert real vector to uint16 time_uint16_add = time to add two uint16 vectors time_uint16_sub = time to subtract two uint16 vectors time_uint16_mul = time to multiply two uint16 vectors time_uint16_div = time to divide two uint16 vectors time_int16_conv = time to convert real vector to int16 time_int16_add = time to add two int16 vectors time_int16_sub = time to subtract two int16 vectors time_int16_mul = time to multiply two int16 vectors time_int16_div = time to divide two int16 vectors time_uint32_conv = time to convert real vector to uint32 time_uint32_add = time to add two uint32 vectors time_uint32_sub = time to subtract two uint32 vectors time_uint32_mul = time to multiply two uint32 vectors time_uint32_div = time to divide two uint32 vectors time_int32_conv = time to convert real vector to int32 time_int32_add = time to add two int32 vectors time_int32_sub = time to subtract two int32 vectors time_int32_mul = time to multiply two int32 vectors time_int32_div = time to divide two int32 vectors # name: # type: sq_string # elements: 1 # length: 80 function benchmark_intmath (n, ratio) description: Test speed of integer math # name: # type: sq_string # elements: 1 # length: 17 benchmark_permute # name: # type: sq_string # elements: 1 # length: 340 function benchmark_permute (n) description: Test speed of array permuting. arguments: n = dimension size (n^5 is number of elements) results: time_21345 = time for [2,1,3,4,5] permutation time_13425 = time for [1,3,4,2,5] permutation time_34125 = time for [3,4,1,2,5] permutation time_45123 = time for [4,5,1,2,3] permutation # name: # type: sq_string # elements: 1 # length: 77 function benchmark_permute (n) description: Test speed of array permuting. # name: # type: sq_string # elements: 1 # length: 14 benchmark_stmm # name: # type: sq_string # elements: 1 # length: 460 function benchmark_stmm (n, nvec) description: Sparse transposed matrix-vector multiplication benchmark. This is to test the "compound operators" feature introduced in Octave. arguments: n = dimension of matrix nvec = number of vector op repeats results: time_tmm = Time for A'*B (B n^2-by-nvec matrix) time_tmv = Time for A'*v nvec-times (v vector) time_mtm = Time for B*A' (B nvec-by-n^2 matrix) time_mtv = Time for v*A' nvec-times (v vector) # name: # type: sq_string # elements: 1 # length: 80 function benchmark_stmm (n, nvec) description: Sparse transposed matrix-vecto # name: # type: sq_string # elements: 1 # length: 17 benchutil_average # name: # type: sq_string # elements: 1 # length: 136 function results = benchutil_average (benchmark, nruns, arg1, arg2, ...) Average the benchmark results over a certain number of runs. # name: # type: sq_string # elements: 1 # length: 70 function results = benchutil_average (benchmark, nruns, arg1, arg2, . # name: # type: sq_string # elements: 1 # length: 21 benchutil_default_arg # name: # type: sq_string # elements: 1 # length: 181 benchmark_default_arg (name, value) set argument to a default value. This function is provided for compatibility with Matlab, which misses Octave's default arguments feature. # name: # type: sq_string # elements: 1 # length: 70 benchmark_default_arg (name, value) set argument to a default value. # name: # type: sq_string # elements: 1 # length: 20 benchutil_initialize # name: # type: sq_string # elements: 1 # length: 126 function benchutil_initialize (mfname) initializes a benchmark. The argument passed must be the filename of the function. # name: # type: sq_string # elements: 1 # length: 65 function benchutil_initialize (mfname) initializes a benchmark. # name: # type: sq_string # elements: 1 # length: 19 benchutil_is_octave # name: # type: sq_string # elements: 1 # length: 105 function benchutil_is_octave () returns true if this is Octave. If not, we're probably run on Matlab. # name: # type: sq_string # elements: 1 # length: 65 function benchutil_is_octave () returns true if this is Octave. # name: # type: sq_string # elements: 1 # length: 20 benchutil_parse_desc # name: # type: sq_string # elements: 1 # length: 133 function [bench_desc, arg_desc, result_desc] = benchutil_parse_desc (mpath) parse the inline comment description from a benchmark # name: # type: sq_string # elements: 1 # length: 80 function [bench_desc, arg_desc, result_desc] = benchutil_parse_desc (mpath) pa # name: # type: sq_string # elements: 1 # length: 17 benchutil_verbose # name: # type: sq_string # elements: 1 # length: 97 function OLD_FLAG = benchutil_verbose (NEW_FLAG) sets or queries the benchmark verbosity flag # name: # type: sq_string # elements: 1 # length: 80 function OLD_FLAG = benchutil_verbose (NEW_FLAG) sets or queries the benchmark