4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

備忘録 Pelemay 0.0.4 ベンチマーク

4
Last updated at Posted at 2019-10-01

備忘録的にベンチマークの結果を記録します。

サンプルベンチマークプログラム
https://github.com/zeam-vm/pelemay_sample

現時点では Pelemay はシングルコアで CPU の SIMD 命令を生成しての実行ですので,GPU は性能に関係ないと思います。

実行方法

$ git clone https://github.com/zeam-vm/pelemay_sample.git
$ cd pelemay_sample
$ mix deps.get
$ mix bench

MacBook Air (11-inch, Mid 2013)

Elixir 1.9.1 / OTP 22 / Mojave / Apple Clang 10.0.1

  • Processor: 1.3 GHz Intel Core i5 (プロセッサ数 1,物理コア数 2,論理コア数 4)
  • Memory: 4 GB 1600 MHz DDR3
  • Graphics: Intel HD Graphics 5000 1536 MB
  • SSD (BlackMagic)
    • Write 669.6MB/s
    • Read 711.3MB/s
  • OS
    • macOS Mojave 10.14.6
  • Elixir 1.9.1 / OTP 22
  • Apple clang 10.0.1
## LogisticMapBench
benchmar iterations   average time 
Pelemay        1000   1375.37 µs/op
Enum            500   3175.05 µs/op
Flow            500   6565.97 µs/op
  • Enum → Pelemay: 2.31倍
  • Flow → Pelemay: 4.77倍

Elixir 1.9.1 / OTP 22 / Mojave / Apple Clang 11.0.0

  • Processor: 1.3 GHz Intel Core i5 (プロセッサ数 1,物理コア数 2,論理コア数 4)
  • Memory: 4 GB 1600 MHz DDR3
  • Graphics: Intel HD Graphics 5000 1536 MB
  • SSD (BlackMagic)
    • Write 669.6MB/s
    • Read 711.3MB/s
  • OS
    • macOS Mojave 10.14.6
  • Elixir 1.9.1 / OTP 22
  • Apple clang 11.0.0
## LogisticMapBench
benchmar iterations   average time 
Pelemay        1000   1181.16 µs/op
Enum           1000   2981.84 µs/op
Flow            500   6689.50 µs/op
  • Enum → Pelemay: 2.52倍
  • Flow → Pelemay: 5.66倍

iMac Pro (2017)

Elixir 1.9.1 / OTP 22 / High Sierra / Clang 7.0.0

  • Processor: 2.3 GHz Intel Xeon W (プロセッサ数 1,物理コア18,論理コア36)
  • Memory: 32 GB 2666 MHz DDR4
  • Graphics: Radeon Pro Vega 64 16368MB
  • SSD (BlackMagic)
    • Write 2980.3MB/s
    • Read 2465.1MB/s
  • OS
    • macOS High Sierra 10.13.6
  • Elixir 1.9.1 / OTP 22
  • Clang 7.0.0
## LogisticMapBench
benchmar iterations   average time
Pelemay        5000   607.79 µs/op
Enum           1000   1359.19 µs/op
Flow            500   4164.03 µs/op
  • Enum → Pelemay: 2.24倍
  • Flow → Pelemay: 6.85倍

Elixir 1.9.1 / OTP 22 / Mojave / Apple clang 11.0.0

  • Processor: 2.3 GHz Intel Xeon W (プロセッサ数 1,物理コア18,論理コア36)
  • Memory: 32 GB 2666 MHz DDR4
  • Graphics: Radeon Pro Vega 64 16368MB
  • SSD (BlackMagic)
    • Write 2980.3MB/s
    • Read 2465.1MB/s
  • OS
    • macOS Mojave 10.14.6
  • Elixir 1.9.1 / OTP 22
  • Apple clang 11.0.0
## LogisticMapBench
benchmar iterations   average time 
Pelemay        5000   561.45 µs/op
Enum           1000   1369.03 µs/op
Flow            500   3987.21 µs/op
  • Enum → Pelemay: 2.44倍
  • Flow → Pelemay: 7.10倍

Elixir 1.9.2 / OTP 22 / Mojave / Apple clang 11.0.0

  • Processor: 2.3 GHz Intel Xeon W (プロセッサ数 1,物理コア18,論理コア36)
  • Memory: 32 GB 2666 MHz DDR4
  • Graphics: Radeon Pro Vega 64 16368MB
  • SSD (BlackMagic)
    • Write 2980.3MB/s
    • Read 2465.1MB/s
  • OS
    • macOS Mojave 10.14.6
  • Elixir 1.9.2 / OTP 22
  • Apple clang 11.0.0
## LogisticMapBench
benchmar iterations   average time 
Pelemay        5000   547.16 µs/op
Enum           1000   1360.44 µs/op
Flow            500   3970.23 µs/op
  • Enum → Pelemay: 2.49倍
  • Flow → Pelemay: 7.26倍

Elixir 1.9.2 / OTP 22 / Mojave / Clang 10.0.0

  • Processor: 2.3 GHz Intel Xeon W (プロセッサ数 1,物理コア18,論理コア36)
  • Memory: 32 GB 2666 MHz DDR4
  • Graphics: Radeon Pro Vega 64 16368MB
  • SSD (BlackMagic)
    • Write 2980.3MB/s
    • Read 2465.1MB/s
  • OS
    • macOS Mojave 10.14.6
  • Elixir 1.9.2 / OTP 22
  • Clang 10.0.0: clang version 10.0.0 (https://github.com/llvm/llvm-project.git 078bec6c48dd9d17ab9720897d2bb7ccbb886763)
## LogisticMapBench
benchmar iterations   average time 
Pelemay        5000   554.50 µs/op
Enum           1000   1368.28 µs/op
Flow            500   4031.48 µs/op
  • Enum → Pelemay: 2.47倍
  • Flow → Pelemay: 7.27倍

Ryzen Threadripper IIyama STYLE-Q039-LCRT2W-LNA

Elixir 1.9.1 / OTP 22 / Ubuntu 18.04 / Clang 8.0.0

  • Processor: 3.0-4.2GHz AMD Ryzen Threadripper 2990WX (プロセッサ数 1 物理コア 32 論理コア 64)
  • Memory: 32 GB 2666MHz DDR4
  • Graphics: NVIDIA TITAN RTX x2
  • OS
    • Ubuntu (18.04)
  • Elixir 1.9.1 / OTP 22
  • Clang 8.0.0
## LogisticMapBench
benchmar iterations   average time 
Pelemay        5000   501.03 µs/op
Enum           1000   1060.01 µs/op
Flow            100   10661.63 µs/op
  • Enum → Pelemay: 2.12倍
  • Flow → Pelemay: 21.28倍

Elixir 1.9.1 / OTP 22 / Ubuntu 18.04 / Clang 10.0.0

  • Processor: 3.0-4.2GHz AMD Ryzen Threadripper 2990WX (プロセッサ数 1 物理コア 32 論理コア 64)
  • Memory: 32 GB 2666MHz DDR4
  • Graphics: NVIDIA TITAN RTX x2
  • OS
    • Ubuntu (18.04)
  • Elixir 1.9.1 / OTP 22
  • Clang 10.0.0
## LogisticMapBench
benchmar iterations   average time 
Pelemay        5000   515.81 µs/op
Enum           1000   1065.93 µs/op
Flow            100   10398.44 µs/op
  • Enum → Pelemay: 2.07倍
  • Flow → Pelemay: 20.16倍

Elixir 1.9.2 / OTP 22 / Ubuntu 18.04 / Clang 8.0.0

  • Processor: 3.0-4.2GHz AMD Ryzen Threadripper 2990WX (プロセッサ数 1 物理コア 32 論理コア 64)
  • Memory: 32 GB 2666MHz DDR4
  • Graphics: NVIDIA TITAN RTX x2
  • OS
    • Ubuntu (18.04)
  • Elixir 1.9.2 / OTP 22
  • Clang 8.0.0
## LogisticMapBench
benchmar iterations   average time 
Pelemay        5000   504.37 µs/op
Enum           1000   1076.51 µs/op
Flow            200   10196.66 µs/op
  • Enum → Pelemay: 2.13倍
  • Flow → Pelemay: 20.22倍

Elixir 1.9.2 / OTP 22 / Ubuntu 18.04 / Clang 10.0.0

  • Processor: 3.0-4.2GHz AMD Ryzen Threadripper 2990WX (プロセッサ数 1 物理コア 32 論理コア 64)
  • Memory: 32 GB 2666MHz DDR4
  • Graphics: NVIDIA TITAN RTX x2
  • OS
    • Ubuntu (18.04)
  • Elixir 1.9.2 / OTP 22
  • Clang 10.0.0 (https://github.com/llvm/llvm-project.git 078bec6c48dd9d17ab9720897d2bb7ccbb886763)
## LogisticMapBench
benchmar iterations   average time 
Pelemay        5000   497.10 µs/op
Enum           1000   1061.66 µs/op
Flow            100   10643.21 µs/op
  • Enum → Pelemay: 2.14倍
  • Flow → Pelemay: 21.41倍
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?