Optimize scalar 8-bit RAID parity generation and recovery in int.c

This commit is contained in:
Andrea Mazzoleni 2026-08-27 19:19:31 +02:00
parent 69a1ed1125
commit e0c0ea3dcc
7 changed files with 777 additions and 228 deletions

View file

@ -1218,7 +1218,7 @@ void speed_rec(int nd, void** v, int size, int delta, int period)
printf("RAID polynomial functions used for recovering with 'fix':\n");
printf("%8s", "");
printf("%8s", "best");
printf("%8s", "int8");
printf("%8s", "int");
#ifdef CONFIG_NEON
printf("%8s", "neon");
#endif
@ -1911,9 +1911,7 @@ void speed_rec(int nd, void** v, int size, int delta, int period)
fflush(stdout);
SPEED_START {
/* ensure to use same hardware in the delta step */
raid_gen_force(3, raid_gen3_int8);
raid_recX_int8(3, id, ip, nd, size, v);
raid_rec3_int8(3, id, ip, nd, size, v);
} SPEED_STOP
printf("%8" PRIu64, ds / dt);
@ -2004,9 +2002,7 @@ void speed_rec(int nd, void** v, int size, int delta, int period)
fflush(stdout);
SPEED_START {
/* ensure to use same hardware in the delta step */
raid_gen_force(4, raid_gen4_int8);
raid_recX_int8(4, id, ip, nd, size, v);
raid_rec4_int8(4, id, ip, nd, size, v);
} SPEED_STOP
printf("%8" PRIu64, ds / dt);
@ -2097,9 +2093,7 @@ void speed_rec(int nd, void** v, int size, int delta, int period)
fflush(stdout);
SPEED_START {
/* ensure to use same hardware in the delta step */
raid_gen_force(5, raid_gen5_int8);
raid_recX_int8(5, id, ip, nd, size, v);
raid_rec5_int8(5, id, ip, nd, size, v);
} SPEED_STOP
printf("%8" PRIu64, ds / dt);
@ -2190,9 +2184,7 @@ void speed_rec(int nd, void** v, int size, int delta, int period)
fflush(stdout);
SPEED_START {
/* ensure to use same hardware in the delta step */
raid_gen_force(6, raid_gen6_int8);
raid_recX_int8(6, id, ip, nd, size, v);
raid_rec6_int8(6, id, ip, nd, size, v);
} SPEED_STOP
printf("%8" PRIu64, ds / dt);