Repo: https://github.com/Jirka-Mayer/NPRG038-DU1-FixedPoint
Task: https://d3s.mff.cuni.cz/~pacovsky/dotnet
BenchmarkDotNet=v0.11.4, OS=ubuntu 18.04
Intel Core i5-7200U CPU 2.50GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores
[Host] : Mono 5.16.0.179 (tarball Thu), 64bit
DefaultJob : Mono 5.16.0.179 (tarball Thu), 64bit
Method | Mean | Error | StdDev |
---|---|---|---|
Elimination16_16 | 13,145,786.663 ns | 41,837.4952 ns | 37,087.8497 ns |
Elimination24_8 | 13,095,395.837 ns | 28,581.4271 ns | 25,336.6907 ns |
IntToQ16_16 | 4.842 ns | 0.0122 ns | 0.0102 ns |
IntToQ24_8 | 4.841 ns | 0.0090 ns | 0.0084 ns |
První benchmark dělá gaussovu eliminaci na matici 100x100
ve dvou typech 16_16
a 24_8
. Druhý benchmark měří převádění z intu na typ Fixed
.
Zdá se, že rychlost eliminace prakticky nezávisí na typu. Střední hodnota je skoro stejná. Jediné, co závisí na pozici desetinné čárky je shiftování při násobení, ale zdá se, že shift je stejně rychlý bez ohledu na to o kolik se shiftuje. Nebo je ten rozdíl v rychlosti dost zanedbatelný.