Swift VS Dart benchmarks

Current benchmark data was generated on Thu Jul 13 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -m in a file name stands for multi-threading or multi-processing

* -i in a file name stands for direct intrinsics usage. (Usage of simd intrinsics via libraries is not counted)

* -ffi in a file name stands for non-stdlib FFI usage

* (You may find time < time(user) + time(sys) for some non-parallelized programs, the overhead is from GC or JIT compiler, which are allowed to take advantage of multi-cores as that's more close to real-world scenarios.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 932ms 12ms 85.5MB 893ms 40ms dart/exe 3.0.6
swift 1.swift 2559ms 11ms 52.7MB 2533ms 10ms swift 5.8.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 98ms 2.8ms 50.0MB 73ms 13ms dart/exe 3.0.6
swift 1.swift 237ms 3.5ms 10.4MB 223ms 0ms swift 5.8.1

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 1.swift 3306ms 8.5ms 2.3MB 3290ms 0ms swift 5.8.1
dart 2.dart 4139ms 141ms 11.4MB 4120ms 0ms dart/exe 3.0.6

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 1.swift 280ms 1.5ms 2.3MB 270ms 0ms swift 5.8.1
dart 2.dart 332ms 1.8ms 11.9MB 313ms 0ms dart/exe 3.0.6

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 3-m.swift 310ms 4.4ms 21.0MB 543ms 3ms swift 5.8.1
dart 1.dart 560ms 4.1ms 16.4MB 537ms 3ms dart/exe 3.0.6

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 3.swift 55ms 0.7ms 14.4MB 53ms 0ms swift 5.8.1
dart 1.dart 65ms 0.6ms 14.1MB 53ms 0ms dart/exe 3.0.6

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 1.swift 2.0ms 0.6ms 4.7MB 0ms 0ms swift 5.8.1
dart 1.dart 7.6ms 2.3ms 13.2MB 0ms 0ms dart/exe 3.0.6

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 2-m.swift 2297ms 447ms 52.2MB 3860ms 20ms swift 5.8.1
dart 3-m.dart 2334ms 23ms 301.9MB 4020ms 117ms dart/exe 3.0.6

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 2-m.swift 357ms 7.2ms 31.5MB 603ms 13ms swift 5.8.1
dart 3-m.dart 398ms 7.3ms 199.7MB 590ms 70ms dart/exe 3.0.6

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 7.swift 433ms 0.3ms 5.3MB 420ms 0ms swift 5.8.1
dart 3.dart 521ms 0.1ms 13.7MB 500ms 0ms dart/exe 3.0.6

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 7.swift 46ms 0.3ms 5.3MB 40ms 0ms swift 5.8.1
dart 3.dart 60ms 0.8ms 12.2MB 47ms 0ms dart/exe 3.0.6

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 1816ms 12ms 21.8MB 1733ms 53ms dart/exe 3.0.6
swift 1.swift timeout 0.0ms 6.7MB 4957ms 17ms swift 5.8.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 465ms 5.5ms 20.0MB 403ms 37ms dart/exe 3.0.6
swift 1.swift 2426ms 2.9ms 6.3MB 2410ms 0ms swift 5.8.1