Swift VS C# benchmarks

Current benchmark data was generated on Thu Sep 22 2022, 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.)

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 1.swift 3394ms 3.7ms 5.1MB 3383ms 0ms swift 5.7.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 1.swift 289ms 5.7ms 5.1MB 277ms 0ms swift 5.7.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 3-m.swift 365ms 5.8ms 23.1MB 660ms 0ms swift 5.7.0
csharp 5-m.cs 413ms 14ms 88.4MB 620ms 113ms dotnet 6.0.401
csharp 5-m.cs 505ms 24ms 58.8MB 850ms 97ms mono 6.12.0

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 3.swift 55ms 1.0ms 14.8MB 60ms 0ms swift 5.7.0
csharp 5.cs 93ms 9.3ms 37.3MB 120ms 17ms mono 6.12.0
csharp 5.cs 112ms 18ms 41.4MB 97ms 27ms dotnet 6.0.401

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 1.swift 1.9ms 0.7ms 2.4MB 0ms 0ms swift 5.7.0
csharp 1.cs 19ms 0.3ms 23.8MB 10ms 0ms mono 6.12.0
csharp 1.cs 51ms 4.5ms 29.0MB 22ms 4ms dotnet 6.0.401

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 1202ms 73ms 75.3MB 1703ms 40ms dotnet 6.0.401
csharp 6-m.cs 1582ms 59ms 72.3MB 2573ms 23ms mono 6.12.0
swift 2-m.swift 2092ms 20ms 46.5MB 3933ms 17ms swift 5.7.0

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 238ms 5.4ms 63.9MB 257ms 17ms dotnet 6.0.401
csharp 6.cs 246ms 11ms 56.4MB 313ms 20ms mono 6.12.0
swift 2-m.swift 377ms 3.8ms 33.7MB 617ms 30ms swift 5.7.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 9.cs 405ms 2.4ms 27.3MB 373ms 0ms dotnet 6.0.401
swift 7.swift 427ms 0.9ms 5.1MB 417ms 0ms swift 5.7.0
csharp 8.cs 535ms 3.1ms 29.3MB 507ms 0ms dotnet 6.0.401
csharp 8.cs 1127ms 33ms 24.8MB 1113ms 0ms mono 6.12.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 7.swift 45ms 0.3ms 5.1MB 37ms 0ms swift 5.7.0
csharp 9.cs 89ms 5.9ms 27.3MB 60ms 3ms dotnet 6.0.401
csharp 8.cs 103ms 4.1ms 31.3MB 73ms 0ms dotnet 6.0.401
csharp 8.cs 134ms 1.5ms 25.1MB 120ms 0ms mono 6.12.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs timeout 0.0ms 0.0MB 0ms 0ms dotnet 6.0.401
swift 1.swift timeout 0.0ms 0.0MB 0ms 0ms swift 5.7.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 1271ms 0.5ms 94.7MB 1260ms 30ms dotnet 6.0.401
swift 1.swift 2628ms 6.7ms 6.3MB 2613ms 0ms swift 5.7.0