- Dart SDK Version (
dart --version)
Dart VM version: 2.4.0 (Unknown timestamp) on "linux_x64"
- Whether you are using Windows, MacOSX, or Linux (if applicable)
Linux renato 4.4.0-154-generic #181-Ubuntu SMP Tue Jun 25 05:29:03 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Sample code
The code I am using to benchmark different Dart compilation modes is a simple brainfuck implementation.
This is the bf program I am using for benchmarking.
When running with dart as a script, I get the following output:
➜ dart-bf git:(master) ✗ time dart bin/dart-bf.dart bf/example.bf
dart bin/dart-bf.dart bf/example.bf 3,21s user 0,13s system 112% cpu 2,956 total
avg shared (code): 0 KB
avg unshared (data/stack): 0 KB
total (sum): 0 KB
max memory: 144 MB
page faults from disk: 0
other page faults: 39866
With dartaotruntime:
➜ dart-bf git:(master) ✗ dart2aot bin/dart-bf.dart dart-bf.aot
➜ dart-bf git:(master) ✗ time dartaotruntime dart-bf.aot bf/example.bf
dartaotruntime dart-bf.aot bf/example.bf 11,42s user 0,00s system 99% cpu 11,421 total
avg shared (code): 0 KB
avg unshared (data/stack): 0 KB
total (sum): 0 KB
max memory: 15 MB
page faults from disk: 0
other page faults: 2680
With dart --snapshot-kind=kernel:
➜ dart-bf git:(master) ✗ dart --snapshot=main.snapshot --snapshot-kind=kernel bin/dart-bf.dart
➜ dart-bf git:(master) ✗ time dart main.snapshot bf/example.bf
dart main.snapshot bf/example.bf 2,47s user 0,04s system 106% cpu 2,348 total
avg shared (code): 0 KB
avg unshared (data/stack): 0 KB
total (sum): 0 KB
max memory: 51 MB
page faults from disk: 0
other page faults: 10598
Summary:
| Method |
Time (secs) |
Memory (MB) |
| dart script |
3.21 |
144 |
| dartaotruntime |
11.42 |
15 |
| dart --snapshot-kind=kernel |
2.47 |
51 |
It seems that dartaotruntime has a performance that's just too far from the alternatives. It might be due to it not having a JIT, as the other options? But still, would be reasonable to make further optimizations to get a more predictable performance, I'd think.
BTW: the snapshot performance is amazing, pretty close to Go and Java!
dart --version)Dart VM version: 2.4.0 (Unknown timestamp) on "linux_x64"
Linux renato 4.4.0-154-generic #181-Ubuntu SMP Tue Jun 25 05:29:03 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Sample code
The code I am using to benchmark different Dart compilation modes is a simple brainfuck implementation.
This is the bf program I am using for benchmarking.
When running with
dartas a script, I get the following output:With
dartaotruntime:With
dart --snapshot-kind=kernel:Summary:
It seems that
dartaotruntimehas a performance that's just too far from the alternatives. It might be due to it not having a JIT, as the other options? But still, would be reasonable to make further optimizations to get a more predictable performance, I'd think.BTW: the snapshot performance is amazing, pretty close to Go and Java!