New issue
Advanced search Search tips

Issue 863257 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 13
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android , Fuchsia
Pri: 3
Type: Feature

Blocking:
issue 764085
issue 810125



Sign in to add a comment

[zlib][arm] Compression: optimize fill_window

Project Member Reported by cavalcantii@chromium.org, Jul 13

Issue description

Since late 2014, Intel has an optimized fill_window function that helps in compression.

We should optimize it (or alternatively the hash chain function) on ARM.
 
Blocking: 764085
Blocking: 810125
Benchmarking data:
https://docs.google.com/spreadsheets/d/1Vdk4uZj18ksKESXpWKhuTjYM1Ifar0RbKxJpizn0jz4/edit#gid=941756136
Nexus4_ vector loads_writes.png
13.5 KB View Download
Nexus6_ vector loads_writes.png
13.5 KB View Download
Rock64_ vector loads_writes.png
13.4 KB View Download
Pixel_ vector loads_writes.png
14.9 KB View Download
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ddbbeb05cb3f0a4c27e7a5d5d0305462db373677

commit ddbbeb05cb3f0a4c27e7a5d5d0305462db373677
Author: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
Date: Tue Aug 07 16:08:59 2018

Neon-Optimized hash chain

This should help with compression of data, using NEON instructions
(therefore useful for ARMv7/ARMv8).

Average gains were around 4% to 5% in data compression, depending on the
data entropy.

Re-write of a patch contributed to Fedora Core, for reference:
https://src.fedoraproject.org/rpms/zlib/c/25e9802713484882c27c1f979a6610a42414ee13?branch=master

Bug:  863257 
Change-Id: I76573d75843d6a63de75d8a9536da98515314543
Reviewed-on: https://chromium-review.googlesource.com/1136940
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Chris Blume <cblume@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581241}
[modify] https://crrev.com/ddbbeb05cb3f0a4c27e7a5d5d0305462db373677/third_party/zlib/BUILD.gn
[add] https://crrev.com/ddbbeb05cb3f0a4c27e7a5d5d0305462db373677/third_party/zlib/contrib/optimizations/slide_hash_neon.h
[modify] https://crrev.com/ddbbeb05cb3f0a4c27e7a5d5d0305462db373677/third_party/zlib/deflate.c

Status: Fixed (was: Started)

Sign in to add a comment