Skip to content

Commit

Permalink
Bump version to 3.1.0-alpha002
Browse files Browse the repository at this point in the history
  • Loading branch information
teo-tsirpanis committed Sep 14, 2018
1 parent 4bf92fa commit 14aac88
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 8 deletions.
16 changes: 10 additions & 6 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
#### 3.1.0-alpha002
* The EGT file reader was replaced with a new one.
#### 3.1.0-alpha002 - 14-09-2018
* The EGT file reader was replaced with a newer one which is significantly more performant.
* The `GOLDParser` class was removed in favor of the new module with the same name.

#### 3.1.0-alpha001 - 06-09-2018
* The versioning scheme changed. Even (and zero) minor and patch versions signify stable releases, while odd ones signify unstable releases.
* The reader for GOLD Parser Enhanced Grammar Tables is now based on a Binary Reader, and is faster and more lightweight. __To be confirmed__
* The versioning scheme changed. Even (and zero) minor and patch versions signify stable releases, while odd ones signify unstable releases. For example, this is an unstable release.
* The functions for the `RuntimeFarkle` type are in their own module.
* The reader for GOLD Parser EGT files is now based on a BinaryReader, and is faster and more lightweight.
* The parser directly generates Abstract Syntax trees, eliminating the need to convert them from reductions, a very hard-to-use type.
* The parser does not keep the parsing log messages. Instead, a callback that is provided by the user is called from which the message can be arbitrarily processed.
* The code was yet again simplified and reorganized into different namespaces.
* The library became much faster after performance profiling.

#### 3.0.0 - 15-07-2018
* Introduced the RuntimeFarkle API. This allows the user to both parse a string and convert its Abstract Syntax Tree into any type easily.
* Farkle does no more depend on Chessie, using the core library's Result type.
* Introduced the `RuntimeFarkle` API. This allows the user to both parse a string and convert its Abstract Syntax Tree into any type easily.
* The parser can lazily read an input file.
* The project does no more depend on Chessie, using the core library's Result type.
* The internal architecture was greatly refactored.

#### 3.0.0-alpha001 - 06.09.2017
Expand Down
2 changes: 1 addition & 1 deletion build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ let benchmarkReportsDirectory = "./performance/"

let nugetPackages = !! "./bin/*.nupkg"

let releaseArtifacts = nugetPackages ++ "./src/Farkle/FSharp - Farkle.pgt"
let releaseArtifacts = nugetPackages ++ "./src/Farkle/F-Sharp - Farkle.pgt"

// Git configuration (used for publishing documentation in gh-pages branch)
// The profile where the project is posted
Expand Down
16 changes: 16 additions & 0 deletions performance/InceptionBenchmark.3.1.0-alpha002.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
``` ini

BenchmarkDotNet=v0.11.1, OS=Windows 10.0.17134.285 (1803/April2018Update/Redstone4)
Intel Core i7-7700HQ CPU 2.80GHz (Max: 2.81GHz) (Kaby Lake), 1 CPU, 8 logical and 4 physical cores
Frequency=2742186 Hz, Resolution=364.6726 ns, Timer=TSC
.NET Core SDK=2.1.402
[Host] : .NET Core 2.1.4 (CoreCLR 4.6.26814.03, CoreFX 4.6.26814.02), 64bit RyuJIT DEBUG
DefaultJob : .NET Core 2.1.4 (CoreCLR 4.6.26814.03, CoreFX 4.6.26814.02), 64bit RyuJIT


```
| Method | Mean | Error | StdDev | Scaled | ScaledSD | Gen 0 | Gen 1 | Gen 2 | Allocated |
|------------------------------ |----------:|----------:|---------:|-------:|---------:|-----------:|---------:|---------:|------------:|
| InceptionBenchmarkFarkleEager | 35.18 ms | 0.8886 ms | 2.477 ms | 0.34 | 0.03 | 10666.6667 | 416.6667 | 166.6667 | 35843.16 KB |
| InceptionBenchmarkFarkleLazy | 36.44 ms | 0.8151 ms | 1.269 ms | 0.35 | 0.02 | 11928.5714 | 642.8571 | 142.8571 | 39382.22 KB |
| InceptionBenchmarkLazarus | 103.59 ms | 1.9060 ms | 3.533 ms | 1.00 | 0.00 | - | - | - | 1.3 KB |
15 changes: 15 additions & 0 deletions performance/SerializationBenchmark.3.1.0-alpha002.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
``` ini

BenchmarkDotNet=v0.11.1, OS=Windows 10.0.17134.285 (1803/April2018Update/Redstone4)
Intel Core i7-7700HQ CPU 2.80GHz (Max: 2.81GHz) (Kaby Lake), 1 CPU, 8 logical and 4 physical cores
Frequency=2742186 Hz, Resolution=364.6726 ns, Timer=TSC
.NET Core SDK=2.1.402
[Host] : .NET Core 2.1.4 (CoreCLR 4.6.26814.03, CoreFX 4.6.26814.02), 64bit RyuJIT DEBUG
DefaultJob : .NET Core 2.1.4 (CoreCLR 4.6.26814.03, CoreFX 4.6.26814.02), 64bit RyuJIT


```
| Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Allocated |
|----------- |-----------:|---------:|---------:|---------:|--------:|----------:|
| Base64EGT | 972.4 us | 18.67 us | 23.62 us | 273.4375 | - | 843.23 KB |
| Serialized | 3,149.7 us | 62.00 us | 71.39 us | 195.3125 | 74.2188 | 994.59 KB |
1 change: 0 additions & 1 deletion src/Farkle/Grammar/EGTReader.fs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ module internal EGTReader =
match x with
| Ok _ -> System.ReadOnlyMemory(arr, 0, count) |> fRecord
| Error x -> Error x
// Seq.init count (fun _ -> readEntry r) |> collect
| b -> b |> InvalidRecordTag |> Error

let readRecords fRead r =
Expand Down

0 comments on commit 14aac88

Please sign in to comment.