Performance Testing¶
The benchmarks
directory contains scripts for measuring the performance of arkouda, optionally compared to the (single-node) performance of NumPy.
Argsort¶
Measure performance of sorting an array of random values.
usage: argsort.py [-h] [-n SIZE] [-t TRIALS] [-d DTYPE] [--numpy]
[--correctness-only] [-s SEED]
hostname port
Positional Arguments¶
- hostname
Hostname of arkouda server
- port
Port of arkouda server
Named Arguments¶
- -n, --size
Problem size: length of array to argsort
Default: 100000000
- -t, --trials
Number of times to run the benchmark
Default: 3
- -d, --dtype
Dtype of array (int64, uint64, float64)
Default: “int64”
- --numpy
Run the same operation in NumPy to compare performance.
Default: False
- --correctness-only
Only check correctness, not performance.
Default: False
- -s, --seed
Value to initialize random number generator
Gather¶
Measure the performance of random gather: C = V[I]
usage: gather.py [-h] [-n SIZE] [-i INDEX_SIZE] [-v VALUE_SIZE] [-t TRIALS]
[-d DTYPE] [-r] [--numpy] [--correctness-only] [-s SEED]
hostname port
Positional Arguments¶
- hostname
Hostname of arkouda server
- port
Port of arkouda server
Named Arguments¶
- -n, --size
Problem size: length of index and gather arrays
Default: 100000000
- -i, --index-size
Length of index array (number of gathers to perform)
- -v, --value-size
Length of array from which values are gathered
- -t, --trials
Number of times to run the benchmark
Default: 6
- -d, --dtype
Dtype of value array (int64, float64, bool)
Default: “int64”
- -r, --randomize
Use random values instead of ones
Default: False
- --numpy
Run the same operation in NumPy to compare performance.
Default: False
- --correctness-only
Only check correctness, not performance.
Default: False
- -s, --seed
Value to initialize random number generator
Reduce¶
Measure performance of reductions over arrays.
usage: reduce.py [-h] [-n SIZE] [-t TRIALS] [-d DTYPE] [-r] [--numpy]
[--correctness-only] [-s SEED]
hostname port
Positional Arguments¶
- hostname
Hostname of arkouda server
- port
Port of arkouda server
Named Arguments¶
- -n, --size
Problem size: length of array to reduce
Default: 100000000
- -t, --trials
Number of times to run the benchmark
Default: 6
- -d, --dtype
Dtype of array (int64, float64)
Default: “int64”
- -r, --randomize
Fill array with random values instead of range
Default: False
- --numpy
Run the same operation in NumPy to compare performance.
Default: False
- --correctness-only
Only check correctness, not performance.
Default: False
- -s, --seed
Value to initialize random number generator
Scan¶
Measure the performance of scans (cumulative reductions) over arrays.
usage: scan.py [-h] [-n SIZE] [-t TRIALS] [-d DTYPE] [-r] [--numpy]
[--correctness-only] [-s SEED]
hostname port
Positional Arguments¶
- hostname
Hostname of arkouda server
- port
Port of arkouda server
Named Arguments¶
- -n, --size
Problem size: length of array
Default: 100000000
- -t, --trials
Number of times to run the benchmark
Default: 6
- -d, --dtype
Dtype of array (int64, float64)
Default: “int64”
- -r, --randomize
Fill array with random values instead of range
Default: False
- --numpy
Run the same operation in NumPy to compare performance.
Default: False
- --correctness-only
Only check correctness, not performance.
Default: False
- -s, --seed
Value to initialize random number generator
Scatter¶
Measure performance of random scatter: C[I] = V
usage: scatter.py [-h] [-n SIZE] [-i INDEX_SIZE] [-v VALUE_SIZE] [-t TRIALS]
[-d DTYPE] [-r] [--numpy] [--correctness-only] [-s SEED]
hostname port
Positional Arguments¶
- hostname
Hostname of arkouda server
- port
Port of arkouda server
Named Arguments¶
- -n, --size
Problem size: length of index and scatter arrays
Default: 100000000
- -i, --index-size
Length of index array (number of scatters to perform)
- -v, --value-size
Length of array from which values are scattered
- -t, --trials
Number of times to run the benchmark
Default: 6
- -d, --dtype
Dtype of value array (int64, float64, bool)
Default: “int64”
- -r, --randomize
Use random values instead of ones
Default: False
- --numpy
Run the same operation in NumPy to compare performance.
Default: False
- --correctness-only
Only check correctness, not performance.
Default: False
- -s, --seed
Value to initialize random number generator
Stream¶
Run the stream benchmark: C = A + alpha*B
usage: stream.py [-h] [-n SIZE] [-t TRIALS] [-d DTYPE] [-r] [-a ALPHA]
[--numpy] [--correctness-only] [-s SEED]
hostname port
Positional Arguments¶
- hostname
Hostname of arkouda server
- port
Port of arkouda server
Named Arguments¶
- -n, --size
Problem size: length of arrays A and B
Default: 100000000
- -t, --trials
Number of times to run the benchmark
Default: 6
- -d, --dtype
Dtype of arrays (int64, float64)
Default: “float64”
- -r, --randomize
Fill arrays with random values instead of ones
Default: False
- -a, --alpha
Scalar multiple
Default: 1.0
- --numpy
Run the same operation in NumPy to compare performance.
Default: False
- --correctness-only
Only check correctness, not performance.
Default: False
- -s, --seed
Value to initialize random number generator