mirror of
https://github.com/intel/isa-l.git
synced 2025-10-29 12:18:00 +01:00
erasure_code: modify perf benchmark loop
Change-Id: Ie45ceb3ac55ab943a155e2a3f9f6b765cd94d7a1 Signed-off-by: Hang Li <lihang48@hisilicon.com>
This commit is contained in:
@@ -58,14 +58,15 @@
|
|||||||
|
|
||||||
typedef unsigned char u8;
|
typedef unsigned char u8;
|
||||||
|
|
||||||
void ec_encode_perf(int m, int k, u8 * a, u8 * g_tbls, u8 ** buffs)
|
void ec_encode_perf(int m, int k, u8 * a, u8 * g_tbls, u8 ** buffs, struct perf *start)
|
||||||
{
|
{
|
||||||
ec_init_tables(k, m - k, &a[k * k], g_tbls);
|
ec_init_tables(k, m - k, &a[k * k], g_tbls);
|
||||||
ec_encode_data(TEST_LEN(m), k, m - k, g_tbls, buffs, &buffs[k]);
|
BENCHMARK(start, BENCHMARK_TIME,
|
||||||
|
ec_encode_data(TEST_LEN(m), k, m - k, g_tbls, buffs, &buffs[k]));
|
||||||
}
|
}
|
||||||
|
|
||||||
int ec_decode_perf(int m, int k, u8 * a, u8 * g_tbls, u8 ** buffs, u8 * src_in_err,
|
int ec_decode_perf(int m, int k, u8 * a, u8 * g_tbls, u8 ** buffs, u8 * src_in_err,
|
||||||
u8 * src_err_list, int nerrs, u8 ** temp_buffs)
|
u8 * src_err_list, int nerrs, u8 ** temp_buffs, struct perf *start)
|
||||||
{
|
{
|
||||||
int i, j, r;
|
int i, j, r;
|
||||||
u8 b[MMAX * KMAX], c[MMAX * KMAX], d[MMAX * KMAX];
|
u8 b[MMAX * KMAX], c[MMAX * KMAX], d[MMAX * KMAX];
|
||||||
@@ -89,7 +90,8 @@ int ec_decode_perf(int m, int k, u8 * a, u8 * g_tbls, u8 ** buffs, u8 * src_in_e
|
|||||||
|
|
||||||
// Recover data
|
// Recover data
|
||||||
ec_init_tables(k, nerrs, c, g_tbls);
|
ec_init_tables(k, nerrs, c, g_tbls);
|
||||||
ec_encode_data(TEST_LEN(m), k, nerrs, g_tbls, recov, temp_buffs);
|
BENCHMARK(start, BENCHMARK_TIME,
|
||||||
|
ec_encode_data(TEST_LEN(m), k, nerrs, g_tbls, recov, temp_buffs));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -147,14 +149,13 @@ int main(int argc, char *argv[])
|
|||||||
gf_gen_rs_matrix(a, m, k);
|
gf_gen_rs_matrix(a, m, k);
|
||||||
|
|
||||||
// Start encode test
|
// Start encode test
|
||||||
BENCHMARK(&start, BENCHMARK_TIME, ec_encode_perf(m, k, a, g_tbls, buffs));
|
ec_encode_perf(m, k, a, g_tbls, buffs, &start);
|
||||||
printf("erasure_code_encode" TEST_TYPE_STR ": ");
|
printf("erasure_code_encode" TEST_TYPE_STR ": ");
|
||||||
perf_print(start, (long long)(TEST_LEN(m)) * (m));
|
perf_print(start, (long long)(TEST_LEN(m)) * (m));
|
||||||
|
|
||||||
// Start decode test
|
// Start decode test
|
||||||
BENCHMARK(&start, BENCHMARK_TIME, check =
|
check = ec_decode_perf(m, k, a, g_tbls, buffs, src_in_err, src_err_list, nerrs,
|
||||||
ec_decode_perf(m, k, a, g_tbls, buffs, src_in_err, src_err_list, nerrs,
|
temp_buffs, &start);
|
||||||
temp_buffs));
|
|
||||||
|
|
||||||
if (check == BAD_MATRIX) {
|
if (check == BAD_MATRIX) {
|
||||||
printf("BAD MATRIX\n");
|
printf("BAD MATRIX\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user