Skip to content

Commit

Permalink
Release 1.1.0 (#23)
Browse files Browse the repository at this point in the history
  • Loading branch information
skrasekmichael committed Apr 17, 2024
1 parent dadfa6f commit 3a61972
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@

<Authors>Michael Škrášek</Authors>
<Copyright>Copyright Michael Škrášek</Copyright>
<Version>1.0.4</Version>
<Version>1.1.0</Version>
</PropertyGroup>
</Project>
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,6 @@ public TeamMember? GetTeamMember(Guid memberId)
}
```

*Note: using railway-oriented programming results in cleaner and shorter code, however, it also brings additional overhead and inability to return early from function, thus making it less performant (see [benchmarks](benchmarks/v1.0.3.StatementBenchmark.md)).*
*Note: using railway-oriented programming results in cleaner and shorter code, however, it also brings additional overhead and inability to return early from function, thus making it less performant (see [benchmarks](benchmarks/v1.1.0.StatementBenchmark.md)).*

*Learn more about [when to not use railway-oriented programming](https://fsharpforfunandprofit.com/posts/against-railway-oriented-programming/).*
24 changes: 24 additions & 0 deletions benchmarks/v1.1.0.StatementBenchmark.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
```
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22000.2538/21H2/SunValley)
Intel Core i7-7700HQ CPU 2.80GHz (Kaby Lake), 1 CPU, 8 logical and 4 physical cores
.NET SDK 8.0.204
[Host] : .NET 8.0.4 (8.0.424.16909), X64 RyuJIT AVX2
.NET 8.0 : .NET 8.0.4 (8.0.424.16909), X64 RyuJIT AVX2
```
| Method | Mean | Error | StdDev | Median | Allocated |
|------------------------- |--------------:|-------------:|--------------:|--------------:|----------:|
| FailEarly_RP | 96.04 ns | 1.423 ns | 2.173 ns | 95.57 ns | 200 B |
| FailEarly_ROP | 173.69 ns | 7.091 ns | 20.908 ns | 164.45 ns | 456 B |
| FailEarly_Exception | 39,613.79 ns | 588.472 ns | 491.401 ns | 39,590.04 ns | 360 B |
| FailLate_RP | 87.04 ns | 0.757 ns | 0.632 ns | 86.85 ns | 200 B |
| FailLate_ROP | 172.76 ns | 8.753 ns | 25.810 ns | 155.12 ns | 456 B |
| FailLate_Exception | 48,496.55 ns | 3,201.321 ns | 9,439.168 ns | 45,646.75 ns | 360 B |
| FailEarlyAsync_RP | 175.15 ns | 7.293 ns | 21.505 ns | 161.64 ns | 344 B |
| FailEarlyAsync_ROP | 576.28 ns | 24.806 ns | 73.140 ns | 530.82 ns | 1176 B |
| FailEarlyAsync_Exception | 170,494.43 ns | 9,280.938 ns | 27,365.056 ns | 173,854.52 ns | 2384 B |
| FailLateAsync_RP | 216.48 ns | 10.279 ns | 29.657 ns | 210.58 ns | 344 B |
| FailLateAsync_ROP | 588.17 ns | 24.763 ns | 73.013 ns | 538.67 ns | 1176 B |
| FailLateAsync_Exception | 160,717.08 ns | 7,662.587 ns | 22,352.125 ns | 154,991.37 ns | 2384 B |

0 comments on commit 3a61972

Please sign in to comment.