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 libde265 as third-party Compilation Instead of Using vcpkg #90

Merged
merged 2 commits into from
Feb 2, 2022

Conversation

SkyeHoefling
Copy link
Contributor

@SkyeHoefling SkyeHoefling commented Feb 1, 2022

Fixes: #88

Description

Removes vcpkg and updates the build to clone and compile libde265. This is important step to fully supporting cross-platform compilation as vcpkg is focused on windows.

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: 4, geomean: 1.168
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_ToStream |      1.18 |      59449850.00 |      50456700.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_Write    |      1.17 |      59505900.00 |      50919200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToArray  |      1.16 |      58636250.00 |      50473600.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToSpan   |      1.16 |      58913500.00 |      50719400.00 | several?|

No file given
 

primary

 summary:
better: 4, geomean: 1.220
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_Write    |      1.31 |    2982269900.00 |    2270896300.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan   |      1.21 |    2829898300.00 |    2346264300.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray  |      1.19 |    2743673900.00 |    2307227900.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToStream |      1.18 |    2766976750.00 |    2353400550.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 Platinum 8370C CPU 2.80GHz, 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 Median Allocated native memory Native memory leak Allocated
Thumbnail_Write 50.95 ms 0.191 ms 0.179 ms 50.92 ms 5,123,891 B - 74,504 B
Thumbnail_ToArray 50.47 ms 0.148 ms 0.123 ms 50.47 ms 5,123,611 B 48 B 74,504 B
Thumbnail_ToSpan 51.75 ms 1.018 ms 1.459 ms 50.72 ms 5,123,579 B - -
Thumbnail_ToStream 50.43 ms 0.091 ms 0.071 ms 50.46 ms 5,123,563 B - 140,816 B

primary

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
PrimaryImage_Write 2.271 s 0.0261 s 0.0218 s 222,028,830 B - 1,951,112 B
PrimaryImage_ToArray 2.310 s 0.0270 s 0.0226 s 222,028,214 B - 1,951,112 B
PrimaryImage_ToSpan 2.351 s 0.0379 s 0.0355 s 222,028,694 B - -
PrimaryImage_ToStream 2.343 s 0.0456 s 0.0468 s 222,028,358 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: 1, geomean: 1.159
total diff: 1

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.16 |      59536600.00 |      51357050.00 |         |

No file given
 

primary

 summary:
better: 4, geomean: 1.171
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_ToStream |      1.19 |    2982379850.00 |    2511609000.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan   |      1.18 |    2976810300.00 |    2513607300.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray  |      1.16 |    2920373000.00 |    2516176900.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_Write    |      1.15 |    2905592400.00 |    2521188450.00 |         |

No file given
 

Benchmark Results - .NET 5

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 5.0.8 (5.0.821.31504), X64 RyuJIT
 Job-EXNWCO : .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 51.73 ms 1.032 ms 2.807 ms 5,124,425 B - 288 B
Thumbnail_ToArray 55.27 ms 1.315 ms 3.793 ms 5,123,853 B - 66,408 B
Thumbnail_ToSpan 55.14 ms 1.137 ms 3.317 ms 5,123,597 B - 120 B
Thumbnail_ToStream 52.33 ms 1.040 ms 2.933 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 8370C CPU 2.80GHz, 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-HRCKIG : .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.521 s 0.0035 s 0.0031 s 222,029,428 B - 256 B
PrimaryImage_ToArray 2.516 s 0.0082 s 0.0064 s 222,028,904 B - 1,943,008 B
PrimaryImage_ToSpan 2.513 s 0.0065 s 0.0058 s 222,028,744 B - 88 B
PrimaryImage_ToStream 2.513 s 0.0051 s 0.0048 s 222,028,936 B - 1,943,072 B

Benchmark Comparison - .NET 6

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

thumbnail

 No differences found between the benchmark results with threshold 10%.
 

primary

 No differences found between the benchmark results with threshold 10%.
 

Benchmark Results - .NET 6

thumbnail

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-VLENSM : .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 51.03 ms 0.156 ms 0.131 ms 5,124,409 B - 832 B
Thumbnail_ToArray 50.32 ms 0.234 ms 0.219 ms 5,123,853 B - 66,888 B
Thumbnail_ToSpan 50.34 ms 0.176 ms 0.156 ms 5,123,853 B - 600 B
Thumbnail_ToStream 50.19 ms 0.157 ms 0.139 ms 5,123,853 B - 66,952 B

primary

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5)
Intel Xeon Platinum 8171M CPU 2.60GHz, 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-HTBFDJ : .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.721 s 0.0543 s 0.0877 s 222,029,540 B - 800 B
PrimaryImage_ToArray 2.751 s 0.0545 s 0.1184 s 222,028,536 B - 1,943,488 B
PrimaryImage_ToSpan 2.724 s 0.0542 s 0.1155 s 222,028,840 B - 568 B
PrimaryImage_ToStream 2.909 s 0.0574 s 0.0786 s 222,028,904 B - 1,943,552 B

@SkyeHoefling SkyeHoefling merged commit 8a49d06 into FileOnQ:main Feb 2, 2022
@SkyeHoefling SkyeHoefling deleted the libde265 branch February 2, 2022 13:42
# 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.

Compile libde265 Instead of Using vcpkg
2 participants