FileOnQ / Imaging.Heif

A C#/.NET wrapper around libheif for decoding and processing high efficiency image formats (heif, heic).
GNU Lesser General Public License v3.0
15 stars 4 forks source link

Updated Library to 1.0.1 #87

Closed SkyeHoefling closed 2 years ago

SkyeHoefling commented 2 years ago

Fixes: n/a

Description

Updated library to version 1.0.1 for next release

Merge Checklist

github-actions[bot] commented 2 years ago

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.241
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.25 |      59449850.00 |      47625200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToSpan   |      1.24 |      58913500.00 |      47428700.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_Write    |      1.24 |      59505900.00 |      48071200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.Thumbnail.Thumbnail_ToArray  |      1.24 |      58636250.00 |      47476300.00 |         |

No file given

primary

 summary:
worse: 3, geomean: 1.205
total diff: 3

| Slower                                                             | diff/base | Base Median (ns) | Diff Median (ns) | Modality|
| ------------------------------------------------------------------ | ---------:| ----------------:| ----------------:| --------:|
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToStream |      1.22 |    2766976750.00 |    3363969300.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan   |      1.20 |    2829898300.00 |    3395859300.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray  |      1.20 |    2743673900.00 |    3287615300.00 |         |

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

No file given

Benchmark Results - .NET Framework 4.8

thumbnail

``` ini 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 | |------------------- |---------:|---------:|---------:|------------------------:|-------------------:|----------:| | Thumbnail_Write | 47.98 ms | 0.362 ms | 0.339 ms | 5,123,907 B | - | 74,504 B | | Thumbnail_ToArray | 47.40 ms | 0.338 ms | 0.300 ms | 5,123,579 B | - | 74,504 B | | Thumbnail_ToSpan | 47.35 ms | 0.345 ms | 0.323 ms | 5,123,563 B | - | - | | Thumbnail_ToStream | 47.58 ms | 0.331 ms | 0.310 ms | 5,123,563 B | - | 140,816 B |

primary

``` ini BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5), VM=Hyper-V Intel Xeon CPU E5-2673 v3 2.40GHz, 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 | 3.330 s | 0.0654 s | 0.0612 s | 222,028,830 B | - | 1,951,112 B | | PrimaryImage_ToArray | 3.289 s | 0.0434 s | 0.0406 s | 222,028,566 B | - | 1,951,112 B | | PrimaryImage_ToSpan | 3.401 s | 0.0401 s | 0.0356 s | 222,028,518 B | - | - | | PrimaryImage_ToStream | 3.368 s | 0.0475 s | 0.0445 s | 222,028,614 B | - | 3,894,032 B |

Benchmark Comparison - .NET 5

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

 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.18 |    2982379850.00 |    2518068100.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToSpan   |      1.18 |    2976810300.00 |    2515604200.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray  |      1.16 |    2920373000.00 |    2519402850.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_Write    |      1.16 |    2905592400.00 |    2510068400.00 |         |

No file given

Benchmark Results - .NET 5

thumbnail

``` ini BenchmarkDotNet=v0.13.1, OS=Windows 10.0.17763.2458 (1809/October2018Update/Redstone5) Intel Xeon CPU E5-2673 v3 2.40GHz, 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-GSRPBX : .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 | 58.66 ms | 1.164 ms | 1.341 ms | 5,124,425 B | - | 288 B | | Thumbnail_ToArray | 58.39 ms | 1.136 ms | 1.263 ms | 5,123,869 B | - | 66,408 B | | Thumbnail_ToSpan | 58.31 ms | 1.134 ms | 1.005 ms | 5,123,853 B | - | 120 B | | Thumbnail_ToStream | 58.07 ms | 1.156 ms | 1.135 ms | 5,123,853 B | - | 66,472 B |

primary

``` ini 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-UCNDCA : .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.510 s | 0.0057 s | 0.0047 s | 222,029,380 B | - | 256 B | | PrimaryImage_ToArray | 2.518 s | 0.0063 s | 0.0056 s | 222,029,224 B | - | 1,943,008 B | | PrimaryImage_ToSpan | 2.516 s | 0.0038 s | 0.0035 s | 222,028,872 B | - | 88 B | | PrimaryImage_ToStream | 2.522 s | 0.0146 s | 0.0129 s | 222,028,952 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

 summary:
better: 4, geomean: 1.197
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.21 |    2975119200.00 |    2467472500.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToStream |      1.20 |    2979033400.00 |    2474928100.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_Write    |      1.19 |    2872608900.00 |    2408728050.00 |         |
| FileOnQ.Imaging.Heif.Benchmarks.PrimaryImage.PrimaryImage_ToArray  |      1.19 |    2893204600.00 |    2437509500.00 |         |

No file given

Benchmark Results - .NET 6

thumbnail

``` ini 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-NUPEGM : .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.32 ms | 0.265 ms | 0.248 ms | 5,124,425 B | - | 832 B | | Thumbnail_ToArray | 50.81 ms | 0.186 ms | 0.174 ms | 5,123,917 B | 64 B | 66,888 B | | Thumbnail_ToSpan | 50.92 ms | 0.213 ms | 0.188 ms | 5,123,853 B | - | 600 B | | Thumbnail_ToStream | 50.77 ms | 0.157 ms | 0.131 ms | 5,123,853 B | - | 66,952 B |

primary

``` ini 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 6.0.1 (6.0.121.56705), X64 RyuJIT Job-VZNTSW : .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.409 s | 0.0188 s | 0.0167 s | 222,029,444 B | - | 848 B | | PrimaryImage_ToArray | 2.440 s | 0.0149 s | 0.0132 s | 222,029,016 B | - | 1,943,536 B | | PrimaryImage_ToSpan | 2.469 s | 0.0148 s | 0.0123 s | 222,028,824 B | - | 616 B | | PrimaryImage_ToStream | 2.475 s | 0.0246 s | 0.0230 s | 222,029,080 B | - | 1,943,600 B |

SkyeHoefling commented 2 years ago

This PR only updates the version number for the next release. I am going to merge