[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] crc: New optimised slice-by-8 implementation
From: |
Bruno Haible |
Subject: |
Re: [PATCH] crc: New optimised slice-by-8 implementation |
Date: |
Sun, 27 Oct 2024 00:28:24 +0200 |
Hi Sam,
> Sorry for the multiple bumps, but this patch offers a 77% reduction in
> compute time for CRC an a 35% reduction in gzip time,
Thanks for following through!
> if this patch is not compliant then can some please let me know
I would suggest three things:
1) Add into comments references to the research papers that are used in
or are useful to understand the code. Like the "Intel paper" that you
showed us in the beginning.
2) Generate the tables at build time.
Rationale: big tables with hex numbers are frowned upon, because they
are not "source code" (in the sense of the GPL: "the preferred form of
the work for making modifications to it").
Step 1: Move the tables into a file lib/crc-sliceby8.h, that you
#include from lib/crc.c. Add a copyright and license notice,
like for every file.
Step 2: Extend your program lib/crc-generate-table.c so that it generates
the entire lib/crc-sliceby8.h, i.e. including the copyright and
license notice. For this, you can copy & adapt the code from
lib/gen-uni-tables.c, functions output_library_license and
output_predicate.
Step 3: Write a Makefile.am rule, in modules/crc, that runs the generator.
Take a look at modules/uninorm/composition (there it's gperf as
generator; it doesn't make a big difference).
3) Use GNU coding style:
printf( --> printf (
int main(int argc, char* argv[])
-->
int
main (int argc, char* argv[])
Indent by 2 spaces, not mixed 2 / 4 spaces.
Thanks!
Bruno
- [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/15
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Simon Josefsson, 2024/10/16
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/16
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Simon Josefsson, 2024/10/16
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/22
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/24
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/26
- Re: [PATCH] crc: New optimised slice-by-8 implementation,
Bruno Haible <=
- Message not available
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Bruno Haible, 2024/10/26
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Simon Josefsson, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Bruno Haible, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Bruno Haible, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Bruno Haible, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Sam Russell, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Bruno Haible, 2024/10/27
- Re: [PATCH] crc: New optimised slice-by-8 implementation, Simon Josefsson, 2024/10/27