Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Added deterministic build for nuget.props instead of build #89

Merged
merged 2 commits into from
Feb 1, 2022

Conversation

SkyeHoefling
Copy link
Contributor

Fixes: #80

Description

Removes /p:ContinuousBuildIntegration=true from build commands and included as part of the nuget.props file. This will ensure whenever it is being built on GitHub Actions our dlls are deterministic.

Merge Checklist

  • Added unit or integration tests (if not explain)
  • Benchmarks are equivalent or faster

@github-actions
Copy link

github-actions bot commented Feb 1, 2022

Benchmark Comparison - .NET Framework 4.8

Benchmarking comparison between this Pull Request and the comitted values at benchmarks/results

thumbnail

 summary:
better: 3, geomean: 1.149
total diff: 3

No Slower results for the provided threshold = 10% and noise filter = 0.3ns.

| Faster                                                       | base/diff | Base Median (ns) | Diff Median (ns) | Modality|
| ------------------------------------------------------------ | ---------:| ----------------:| ----------------:| --------:|
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToSpan   |      1.16 |      58913500.00 |      50974650.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToArray  |      1.15 |      58636250.00 |      51169750.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToStream |      1.14 |      59449850.00 |      51941250.00 |         |

No file given
 

primary

 summary:
better: 3, geomean: 1.177
total diff: 3

No Slower results for the provided threshold = 10% and noise filter = 0.3ns.

| Faster                                                            | base/diff | Base Median (ns) | Diff Median (ns) | Modality|
| ----------------------------------------------------------------- | ---------:| ----------------:| ----------------:| --------:|
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_Write   |      1.23 |    2982269900.00 |    2418857400.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan  |      1.17 |    2829898300.00 |    2423532100.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray |      1.13 |    2743673900.00 |    2423432500.00 |         |

No file given
 

Benchmark Results - .NET Framework 4.8

thumbnail

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5), VM=Hyper-V
Intel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores
 [Host]     : .NET Framework 4.8 (4.8.4420.0), X64 RyuJIT
 Job-GHSIOX : .NET Framework 4.8 (4.8.4420.0), X64 RyuJIT

Runtime=.NET Framework 4.8  InvocationCount=1  LaunchCount=1  
UnrollFactor=1  
Method Mean Error StdDev Allocated native memory Native memory leak Allocated
Thumbnail_Write 52.70 ms 1.052 ms 1.976 ms 5,123,891 B - 74,504 B
Thumbnail_ToArray 51.51 ms 1.023 ms 2.490 ms 5,123,563 B - 74,504 B
Thumbnail_ToSpan 51.09 ms 1.016 ms 2.395 ms 5,123,563 B - -
Thumbnail_ToStream 51.80 ms 1.029 ms 1.828 ms 5,123,579 B - 140,816 B

primary

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5), VM=Hyper-V
Intel Xeon Platinum 8272CL CPU 2.60GHz, 1 CPU, 2 logical and 2 physical cores
 [Host]     : .NET Framework 4.8 (4.8.4420.0), X64 RyuJIT
 Job-GHSIOX : .NET Framework 4.8 (4.8.4420.0), X64 RyuJIT

Runtime=.NET Framework 4.8  InvocationCount=1  LaunchCount=1  
UnrollFactor=1  
Method Mean Error StdDev Allocated native memory Native memory leak Allocated
PrimaryImage_Write 2.417 s 0.0046 s 0.0043 s 222,029,086 B - 1,951,112 B
PrimaryImage_ToArray 2.425 s 0.0069 s 0.0065 s 222,028,710 B - 1,951,112 B
PrimaryImage_ToSpan 2.423 s 0.0063 s 0.0059 s 222,028,582 B - -
PrimaryImage_ToStream 2.475 s 0.0064 s 0.0057 s 222,028,534 B - 3,894,032 B

Benchmark Comparison - .NET 5

Benchmarking comparison between this Pull Request and the comitted values at benchmarks/results

thumbnail

 summary:
better: 4, geomean: 1.223
total diff: 4

No Slower results for the provided threshold = 10% and noise filter = 0.3ns.

| Faster                                                       | base/diff | Base Median (ns) | Diff Median (ns) | Modality|
| ------------------------------------------------------------ | ---------:| ----------------:| ----------------:| --------:|
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_Write    |      1.23 |      59536600.00 |      48253200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToArray  |      1.23 |      58728450.00 |      47618850.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToStream |      1.22 |      58199200.00 |      47598100.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToSpan   |      1.20 |      57887100.00 |      48093300.00 |         |

No file given
 

primary

 summary:
better: 4, geomean: 1.198
total diff: 4

No Slower results for the provided threshold = 10% and noise filter = 0.3ns.

| Faster                                                             | base/diff | Base Median (ns) | Diff Median (ns) | Modality|
| ------------------------------------------------------------------ | ---------:| ----------------:| ----------------:| --------:|
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan   |      1.22 |    2976810300.00 |    2437532700.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray  |      1.21 |    2920373000.00 |    2406665200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_Write    |      1.21 |    2905592400.00 |    2404777500.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToStream |      1.15 |    2982379850.00 |    2592364300.00 |         |

No file given
 

Benchmark Results - .NET 5

thumbnail

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8272CL CPU 2.60GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=6.0.101
 [Host]     : .NET 5.0.8 (5.0.821.31504), X64 RyuJIT
 Job-SMVLVE : .NET 5.0.8 (5.0.821.31504), X64 RyuJIT

Runtime=.NET 5.0  InvocationCount=1  LaunchCount=1  
UnrollFactor=1  
Method Mean Error StdDev Allocated native memory Native memory leak Allocated
Thumbnail_Write 48.27 ms 0.241 ms 0.226 ms 5,124,409 B - 288 B
Thumbnail_ToArray 47.79 ms 0.559 ms 0.496 ms 5,123,869 B - 66,408 B
Thumbnail_ToSpan 47.85 ms 0.445 ms 0.416 ms 5,123,853 B - 120 B
Thumbnail_ToStream 47.75 ms 0.429 ms 0.402 ms 5,123,853 B - 66,472 B

primary

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8272CL CPU 2.60GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=6.0.101
 [Host]     : .NET 5.0.8 (5.0.821.31504), X64 RyuJIT
 Job-IRXTMN : .NET 5.0.8 (5.0.821.31504), X64 RyuJIT

Runtime=.NET 5.0  InvocationCount=1  LaunchCount=1  
UnrollFactor=1  
Method Mean Error StdDev Allocated native memory Native memory leak Allocated
PrimaryImage_Write 2.406 s 0.0071 s 0.0063 s 222,029,556 B - 256 B
PrimaryImage_ToArray 2.419 s 0.0248 s 0.0232 s 222,029,032 B - 1,943,008 B
PrimaryImage_ToSpan 2.443 s 0.0140 s 0.0124 s 222,029,000 B - 88 B
PrimaryImage_ToStream 2.591 s 0.0461 s 0.0431 s 222,028,504 B - 1,943,072 B

Benchmark Comparison - .NET 6

Benchmarking comparison between this Pull Request and the comitted values at benchmarks/results

thumbnail

 summary:
worse: 4, geomean: 1.197
total diff: 4

| Slower                                                       | diff/base | Base Median (ns) | Diff Median (ns) | Modality|
| ------------------------------------------------------------ | ---------:| ----------------:| ----------------:| --------:|
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToSpan   |      1.22 |      47550100.00 |      57930700.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToStream |      1.20 |      47692700.00 |      57179200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToArray  |      1.20 |      47222300.00 |      56516200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_Write    |      1.17 |      48024300.00 |      56374700.00 |         |

No Faster results for the provided threshold = 10% and noise filter = 0.3ns.

No file given
 

primary

 summary:
better: 3, geomean: 1.135
total diff: 3

No Slower results for the provided threshold = 10% and noise filter = 0.3ns.

| Faster                                                             | base/diff | Base Median (ns) | Diff Median (ns) | Modality|
| ------------------------------------------------------------------ | ---------:| ----------------:| ----------------:| --------:|
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray  |      1.15 |    2893204600.00 |    2519450500.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToStream |      1.13 |    2979033400.00 |    2632746600.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan   |      1.12 |    2975119200.00 |    2646842700.00 |         |

No file given
 

Benchmark Results - .NET 6

thumbnail

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5)
Intel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=6.0.101
 [Host]     : .NET 6.0.1 (6.0.121.56705), X64 RyuJIT
 Job-CHVRNL : .NET 6.0.1 (6.0.121.56705), X64 RyuJIT

Runtime=.NET 6.0  InvocationCount=1  LaunchCount=1  
UnrollFactor=1  
Method Mean Error StdDev Allocated native memory Native memory leak Allocated
Thumbnail_Write 56.31 ms 1.123 ms 1.537 ms 5,124,409 B - 832 B
Thumbnail_ToArray 56.75 ms 1.108 ms 1.138 ms 5,123,853 B - 66,888 B
Thumbnail_ToSpan 57.92 ms 0.973 ms 0.812 ms 5,123,597 B - 600 B
Thumbnail_ToStream 57.54 ms 1.038 ms 0.971 ms 5,123,917 B 64 B 66,952 B

primary

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=6.0.101
 [Host]     : .NET 6.0.1 (6.0.121.56705), X64 RyuJIT
 Job-UKGKCA : .NET 6.0.1 (6.0.121.56705), X64 RyuJIT

Runtime=.NET 6.0  InvocationCount=1  LaunchCount=1  
UnrollFactor=1  
Method Mean Error StdDev Allocated native memory Native memory leak Allocated
PrimaryImage_Write 2.627 s 0.0223 s 0.0198 s 222,029,236 B - 848 B
PrimaryImage_ToArray 2.519 s 0.0040 s 0.0036 s 222,028,904 B - 1,943,536 B
PrimaryImage_ToSpan 2.648 s 0.0145 s 0.0121 s 222,028,536 B - 616 B
PrimaryImage_ToStream 2.634 s 0.0157 s 0.0146 s 222,028,264 B - 1,943,600 B

@SkyeHoefling SkyeHoefling merged commit e9eba24 into FileOnQ:main Feb 1, 2022
@SkyeHoefling SkyeHoefling deleted the deterministic branch February 1, 2022 16:30
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Deterministic DLLs for NuGet
2 participants