Compile libjpeg-turbo As Debug or Release#42
Conversation
|
@kenny-sellers can you download the generated NuGet package and load it into the console app. Then follow these steps to validate the fix Console App Test
WinForms App TestPerform the same test above but with the WinForms app from #44. I will review that today and merge then rebase so it is available in this PR If you can complete the tests above, you can approve this PR |
|
/benchmark |
kenny-sellers
left a comment
There was a problem hiding this comment.
Tested this in a VM using the nuget package generated with both console app and winforms app and image generated correctly.
|
/benchmark |
|
Benchmarks are failing because of #45 it doesn't support forked repositories |
|
/benchmark |
Benchmark ComparisonBenchmarking comparison between this Pull Request and the comitted values at benchmarks/results thumbnail
Welcome to .NET 5.0!
---------------------
SDK Version: 5.0.404
Telemetry
---------
The .NET tools collect usage data in order to help us improve your experience. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
----------------
Installed an ASP.NET Core HTTPS development certificate.
To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only).
Learn about HTTPS: https://aka.ms/dotnet-https
----------------
Write your first app: https://aka.ms/dotnet-hello-world
Find out what's new: https://aka.ms/dotnet-whats-new
Explore documentation: https://aka.ms/dotnet-docs
Report issues and find source on GitHub: https://github.com/dotnet/core
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------
No differences found between the benchmark results with threshold 10%.
primary summary:
better: 4, geomean: 1.155
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_ToArray | 1.20 | 2880173350.00 | 2396931900.00 | |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan | 1.15 | 2770930800.00 | 2401961600.00 | |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_Write | 1.14 | 2724795550.00 | 2394350400.00 | |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToStream | 1.13 | 2719733500.00 | 2410643000.00 | |
No file given
Benchmark Resultsthumbnail
BenchmarkDotNet=v0.13.0, OS=Windows 10.0.17763.2366 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=5.0.404
[Host] : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Job-DCQWTX : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Runtime=.NET 5.0 InvocationCount=1 LaunchCount=1
UnrollFactor=1
primary
BenchmarkDotNet=v0.13.0, OS=Windows 10.0.17763.2366 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8272CL CPU 2.60GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=5.0.404
[Host] : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Job-LPZDVK : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Runtime=.NET 5.0 InvocationCount=1 LaunchCount=1
UnrollFactor=1
|
|
@mitchelsellers comparing the primary conversion results, we are seeing about a 300ms to 400ms performance improvement here is what we have saved in the benchmark folder for reference BenchmarkDotNet=v0.13.0, OS=Windows 10.0.17763.2114 (1809/October2018Update/Redstone5)
Intel Xeon CPU E5-2673 v4 2.30GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=5.0.400
[Host] : .NET 5.0.9 (5.0.921.35908), X64 RyuJIT
Job-UAQZJA : .NET 5.0.9 (5.0.921.35908), X64 RyuJIT
Runtime=.NET 5.0 InvocationCount=1 LaunchCount=1
UnrollFactor=1
I would like to run another benchmark since github runner environments isn't consistent, it appears the servers are different. |
|
/benchmark |
Benchmark ComparisonBenchmarking comparison between this Pull Request and the comitted values at benchmarks/results thumbnail
Welcome to .NET 5.0!
---------------------
SDK Version: 5.0.404
Telemetry
---------
The .NET tools collect usage data in order to help us improve your experience. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
----------------
Installed an ASP.NET Core HTTPS development certificate.
To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only).
Learn about HTTPS: https://aka.ms/dotnet-https
----------------
Write your first app: https://aka.ms/dotnet-hello-world
Find out what's new: https://aka.ms/dotnet-whats-new
Explore documentation: https://aka.ms/dotnet-docs
Report issues and find source on GitHub: https://github.com/dotnet/core
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------
No differences found between the benchmark results with threshold 10%.
primary summary:
better: 4, geomean: 1.154
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_ToArray | 1.20 | 2880173350.00 | 2405408100.00 | |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan | 1.15 | 2770930800.00 | 2403818300.00 | |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_Write | 1.14 | 2724795550.00 | 2399345100.00 | |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToStream | 1.13 | 2719733500.00 | 2401410000.00 | |
No file given
Benchmark Resultsthumbnail
BenchmarkDotNet=v0.13.0, OS=Windows 10.0.17763.2366 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8272CL CPU 2.60GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=5.0.404
[Host] : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Job-UXTCFB : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Runtime=.NET 5.0 InvocationCount=1 LaunchCount=1
UnrollFactor=1
primary
BenchmarkDotNet=v0.13.0, OS=Windows 10.0.17763.2366 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8272CL CPU 2.60GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=5.0.404
[Host] : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Job-YGAXZN : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Runtime=.NET 5.0 InvocationCount=1 LaunchCount=1
UnrollFactor=1
|
|
I compared the results to the values from #44 which is running on the same hardware as the original benchmark. It does appear to be faster BenchmarkDotNet=v0.13.0, OS=Windows 10.0.17763.2366 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8272CL CPU 2.60GHz, 1 CPU, 2 logical and 2 physical cores
.NET SDK=5.0.404
[Host] : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Job-TQEXEA : .NET 5.0.13 (5.0.1321.56516), X64 RyuJIT
Runtime=.NET 5.0 InvocationCount=1 LaunchCount=1
UnrollFactor=1
|
Fixes: #2
Fixes: #37
Description
libjpeg-turbonow compiles under the designated build configuration Debug or Release mode. When compiling the final binary for NuGet it will use the release build. This fixes issues downstream on client facing apps wherelibjpeg-turbowas dependent on debug binary vcruntime140d.dllMerge Checklist