[RFC-ANN] SystemBenchmark.jl

After some work, I was able to get the benchmarks from several ARM boards I had sitting around:

Raspberry Pi 3B+ (aarch64 - Quad-core Cortex A-53):

Reference system ----------------------
Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)
  GPU: GeForce GTX 1650 with Max-Q Design

Test system ---------------------------
Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (aarch64-unknown-linux-gnu)
  CPU: unknown
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, cortex-a53)


14×5 DataFrames.DataFrame
│ Row │ cat         │ testname        │ ref_ms      │ test_ms     │ factor  │
│     │ String      │ String          │ Float64     │ Float64     │ Float64 │
├─────┼─────────────┼─────────────────┼─────────────┼─────────────┼─────────┤
│ 1   │ cpu         │ FloatMul        │ 1.134e-6    │ 5.104e-6    │ 4.50088 │
│ 2   │ cpu         │ FloatSin        │ 4.048e-6    │ 5.51524e-5  │ 13.6246 │
│ 3   │ cpu         │ VecMulBroad     │ 2.94935e-5  │ 0.000324703 │ 11.0093 │
│ 4   │ cpu         │ CPUMatMul       │ 0.018796    │ 0.207395    │ 11.034  │
│ 5   │ cpu         │ MatMulBroad     │ 0.0042468   │ 0.033177    │ 7.81224 │
│ 6   │ cpu         │ 3DMulBroad      │ 0.0010416   │ 0.008993    │ 8.63383 │
│ 7   │ cpu         │ FFMPEGH264Write │ 105.579     │ 1013.53     │ 9.59979 │
│ 8   │ mem         │ DeepCopy        │ 0.000177585 │ 0.0016198   │ 9.12129 │
│ 9   │ diskio      │ DiskWrite1KB    │ 0.031872    │ 1.2978      │ 40.7192 │
│ 10  │ diskio      │ DiskWrite1MB    │ 0.650659    │ 57.1556     │ 87.8427 │
│ 11  │ diskio      │ DiskRead1KB     │ 0.00681275  │ 0.134114    │ 19.6857 │
│ 12  │ diskio      │ DiskRead1MB     │ 0.144945    │ 1.97855     │ 13.6504 │
│ 13  │ loading     │ JuliaLoad       │ 91.1325     │ 790.011     │ 8.66882 │
│ 14  │ compilation │ compilecache    │ 110.3       │ 870.46      │ 7.89177 │

Xilinx Pynq-v1 (armv7l - Zynq 7020 with dual-core Cortex A9):

Reference system ----------------------
Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)
  GPU: GeForce GTX 1650 with Max-Q Design

Test system ---------------------------
Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (arm-linux-gnueabihf)
  CPU: ARMv7 Processor rev 0 (v7l)
  WORD_SIZE: 32
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, cortex-a9)


14×5 DataFrames.DataFrame
│ Row │ cat         │ testname        │ ref_ms      │ test_ms     │ factor  │
│     │ String      │ String          │ Float64     │ Float64     │ Float64 │
├─────┼─────────────┼─────────────────┼─────────────┼─────────────┼─────────┤
│ 1   │ cpu         │ FloatMul        │ 1.134e-6    │ 1.98255e-5  │ 17.4828 │
│ 2   │ cpu         │ FloatSin        │ 4.048e-6    │ 0.0001094   │ 27.0258 │
│ 3   │ cpu         │ VecMulBroad     │ 2.94935e-5  │ 0.000971211 │ 32.9297 │
│ 4   │ cpu         │ CPUMatMul       │ 0.018796    │ 1.2337      │ 65.6363 │
│ 5   │ cpu         │ MatMulBroad     │ 0.0042468   │ 0.156975    │ 36.9631 │
│ 6   │ cpu         │ 3DMulBroad      │ 0.0010416   │ 0.025769    │ 24.7398 │
│ 7   │ cpu         │ FFMPEGH264Write │ 105.579     │ 3097.85     │ 29.3416 │
│ 8   │ mem         │ DeepCopy        │ 0.000177585 │ 0.0049185   │ 27.6967 │
│ 9   │ diskio      │ DiskWrite1KB    │ 0.031872    │ 1.15174     │ 36.1364 │
│ 10  │ diskio      │ DiskWrite1MB    │ 0.650659    │ 52.8955     │ 81.2953 │
│ 11  │ diskio      │ DiskRead1KB     │ 0.00681275  │ 0.143813    │ 21.1093 │
│ 12  │ diskio      │ DiskRead1MB     │ 0.144945    │ 4.3458      │ 29.9824 │
│ 13  │ loading     │ JuliaLoad       │ 91.1325     │ 1444.04     │ 15.8455 │
│ 14  │ compilation │ compilecache    │ 110.3       │ 2714.8      │ 24.6129 │

Beaglebone Black (armv7l - Single core Cortex A8):

Reference system ----------------------
Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)
  GPU: GeForce GTX 1650 with Max-Q Design

Test system ---------------------------
Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (arm-linux-gnueabihf)
  CPU: ARMv7 Processor rev 2 (v7l)
  WORD_SIZE: 32
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, cortex-a8)


14×5 DataFrames.DataFrame
│ Row │ cat         │ testname        │ ref_ms      │ test_ms     │ factor  │
│     │ String      │ String          │ Float64     │ Float64     │ Float64 │
├─────┼─────────────┼─────────────────┼─────────────┼─────────────┼─────────┤
│ 1   │ cpu         │ FloatMul        │ 1.134e-6    │ 2.21073e-5  │ 19.495  │
│ 2   │ cpu         │ FloatSin        │ 4.048e-6    │ 0.000355889 │ 87.9172 │
│ 3   │ cpu         │ VecMulBroad     │ 2.94935e-5  │ 0.00128817  │ 43.6763 │
│ 4   │ cpu         │ CPUMatMul       │ 0.018796    │ 21.7096     │ 1155.01 │
│ 5   │ cpu         │ MatMulBroad     │ 0.0042468   │ 0.254076    │ 59.8276 │
│ 6   │ cpu         │ 3DMulBroad      │ 0.0010416   │ 0.035999    │ 34.5613 │
│ 7   │ cpu         │ FFMPEGH264Write │ 105.579     │ 4004.5      │ 37.9291 │
│ 8   │ mem         │ DeepCopy        │ 0.000177585 │ 0.0102587   │ 57.7681 │
│ 9   │ diskio      │ DiskWrite1KB    │ 0.031872    │ 1.738       │ 54.5307 │
│ 10  │ diskio      │ DiskWrite1MB    │ 0.650659    │ 48.5503     │ 74.6171 │
│ 11  │ diskio      │ DiskRead1KB     │ 0.00681275  │ 0.346284    │ 50.8288 │
│ 12  │ diskio      │ DiskRead1MB     │ 0.144945    │ 9.43058     │ 65.0631 │
│ 13  │ loading     │ JuliaLoad       │ 91.1325     │ 2048.39     │ 22.4771 │
│ 14  │ compilation │ compilecache    │ 110.3       │ 5665.95     │ 51.3687 │
1 Like