Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

SSE41 version of Hadamard transform #1810

Merged
merged 7 commits into from
Nov 9, 2021
Merged

Conversation

brianpopow
Copy link
Collaborator

@brianpopow brianpopow commented Nov 7, 2021

Prerequisites

  • I have written a descriptive pull-request title
  • I have verified that there are no overlapping pull-requests open
  • I have verified that I am following the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules 👮.
  • I have provided test coverage for my change (where applicable)

Description

This adds a SSE41 version of the Hadamard transform which is used during lossy webp encoding.
Relates to #1786

Profiling results:

Before:
hadamard

After:
hadamard_see

note the number of calls is halfed, because the sse version does two transformas at once

@codecov
Copy link

codecov bot commented Nov 7, 2021

Codecov Report

Merging #1810 (2e52890) into master (c8f6d75) will decrease coverage by 0.19%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1810      +/-   ##
==========================================
- Coverage   87.31%   87.12%   -0.20%     
==========================================
  Files         936      936              
  Lines       48015    48085      +70     
  Branches     6034     6035       +1     
==========================================
- Hits        41924    41892      -32     
- Misses       5092     5190      +98     
- Partials      999     1003       +4     
Flag Coverage Δ
unittests 87.12% <100.00%> (-0.20%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/ImageSharp/Formats/Webp/Lossy/LossyUtils.cs 100.00% <100.00%> (ø)
...ageSharp/Formats/Webp/Lossless/PredictorEncoder.cs 89.22% <0.00%> (-9.08%) ⬇️
.../ImageSharp/Formats/Webp/Lossless/LosslessUtils.cs 88.68% <0.00%> (-8.86%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c8f6d75...2e52890. Read the comment docs.

Copy link
Member

@antonfirsov antonfirsov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@brianpopow brianpopow merged commit ce7687b into master Nov 9, 2021
@brianpopow brianpopow deleted the bp/hadamardtransformsse branch November 9, 2021 12:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants