compare to mawk as well as awk

This commit is contained in:
John Kerl 2016-01-08 19:06:54 +00:00
parent 03af29921b
commit ba7d70153c
4 changed files with 11 additions and 8 deletions

View file

@ -73,6 +73,8 @@ void lrec_put(lrec_t* prec, char* key, char* value, char free_flags) {
if (pe->free_flags & FREE_ENTRY_VALUE) {
free(pe->value);
}
if (free_flags & FREE_ENTRY_KEY)
free(key);
pe->value = value;
if (free_flags & FREE_ENTRY_VALUE)
pe->free_flags |= FREE_ENTRY_VALUE;

View file

@ -555,9 +555,10 @@ static void stats1_percentile_emit(void* pvstate, char* value_field_name, char*
char* output_field_name = lhmss_get(pstate->poutput_field_names, stats1_acc_name);
if (output_field_name == NULL) {
output_field_name = mlr_paste_3_strings(value_field_name, "_", stats1_acc_name);
lhmss_put(pstate->poutput_field_names, mlr_strdup_or_die(stats1_acc_name), mlr_strdup_or_die(output_field_name), FREE_ENTRY_KEY|FREE_ENTRY_VALUE);
lhmss_put(pstate->poutput_field_names, mlr_strdup_or_die(stats1_acc_name),
mlr_strdup_or_die(output_field_name), FREE_ENTRY_KEY|FREE_ENTRY_VALUE);
}
lrec_put(poutrec, output_field_name, s, FREE_ENTRY_KEY|FREE_ENTRY_VALUE);
lrec_put(poutrec, mlr_strdup_or_die(output_field_name), s, FREE_ENTRY_KEY|FREE_ENTRY_VALUE);
}
static void stats1_percentile_free(stats1_acc_t* pstats1_acc) {
stats1_percentile_state_t* pstate = pstats1_acc->pvstate;

View file

@ -6,18 +6,12 @@ BUGFIXES
================================================================
TOP OF LIST
* lhms* incorporate free-flags as with slls
? memory leak on hashput w/ existing key?
- re-valgrind
* mv_format_val in case string is allocated. modify semantics to nullify the arg?
* more rid of "double" in fcn names
* join: final sllv_free in destructor (lo-pri)
* light edit on utf8 page
* --mmap/--no-mmap @ mlr -h
* debian screenshot
* termcvt flins & rework that page
* ruby @ optextdep @ mld; poki+mkman
* profile new streqn vs. strncmp ...

View file

@ -29,6 +29,7 @@ run("catc", "catc < ../data/big.dkvp > /dev/null")
run("catc", "catc ../data/big.dkvp > /dev/null")
run("catm", "catm ../data/big.dkvp > /dev/null")
run("catawk", "awk -F, '{print}' ../data/big.dkvp > /dev/null")
run("catmawk", "mawk -F, '{print}' ../data/big.dkvp > /dev/null")
run("CATMLR", "mlr --no-mmap cat ../data/big.dkvp > /dev/null")
run("CATMLRM", "mlr --mmap cat ../data/big.dkvp > /dev/null")
puts
@ -40,6 +41,7 @@ run("catcv", "catc < ../data/big.csv > /dev/null")
run("catcv", "catc ../data/big.csv > /dev/null")
run("catmv", "catm ../data/big.csv > /dev/null")
run("catawkv", "awk -F, '{print}' ../data/big.csv > /dev/null")
run("catmawkv", "mawk -F, '{print}' ../data/big.csv > /dev/null")
run("CATMLRV", "mlr --no-mmap --csv --rs lf cat ../data/big.csv > /dev/null")
run("CATMLRVM", "mlr --mmap --csv --rs lf cat ../data/big.csv > /dev/null")
run("CATMLRV", "mlr --no-mmap --csvlite cat ../data/big.csv > /dev/null")
@ -49,6 +51,7 @@ puts
run("cutcut", "cut -d , -f 1,4 ../data/big.dkvp > /dev/null")
run("cutawk", "awk -F, '{print $1,$4}' ../data/big.dkvp > /dev/null")
run("cutmawk", "mawk -F, '{print $1,$4}' ../data/big.dkvp > /dev/null")
run("CUTMLR", "mlr --no-mmap cut -f a,x ../data/big.dkvp > /dev/null")
run("CUTMLRM", "mlr --mmap cut -f a,x ../data/big.dkvp > /dev/null")
run("CUTMLRX", "mlr --no-mmap cut -x -f a,x ../data/big.dkvp > /dev/null")
@ -57,6 +60,7 @@ puts
run("cutcutv", "cut -d , -f 1,4 ../data/big.csv > /dev/null")
run("cutawkv", "awk -F, '{print $1,$4}' ../data/big.csv > /dev/null")
run("cutmawkv", "mawk -F, '{print $1,$4}' ../data/big.csv > /dev/null")
run("CUTMLRV", "mlr --no-mmap --csv --rs lf cut -f a,x ../data/big.csv > /dev/null")
run("CUTMLRVM", "mlr --mmap --csv --rs lf cut -f a,x ../data/big.csv > /dev/null")
run("CUTMLRXV", "mlr --no-mmap --csv --rs lf cut -x -f a,x ../data/big.csv > /dev/null")
@ -82,11 +86,13 @@ puts
puts
run("addawk", "awk -F, '{gsub(\"x=\",\"\",$4);gsub(\"y=\",\"\",$5);print $4+$5}' ../data/big.dkvp > /dev/null")
run("addmawk", "mawk -F, '{gsub(\"x=\",\"\",$4);gsub(\"y=\",\"\",$5);print $4+$5}' ../data/big.dkvp > /dev/null")
run("ADDMLR", "mlr --no-mmap put '$z=$x+$y' ../data/big.dkvp > /dev/null")
run("ADDMLRM", "mlr --mmap put '$z=$x+$y' ../data/big.dkvp > /dev/null")
puts
run("addawkv", "awk -F, '{gsub(\"x=\",\"\",$4);gsub(\"y=\",\"\",$5);print $4+$5}' ../data/big.csv > /dev/null")
run("addmawkv", "mawk -F, '{gsub(\"x=\",\"\",$4);gsub(\"y=\",\"\",$5);print $4+$5}' ../data/big.csv > /dev/null")
run("ADDMLRV", "mlr --no-mmap --csv --rs lf put '$z=$x+$y' ../data/big.csv > /dev/null")
run("ADDMLRVM", "mlr --mmap --csv --rs lf put '$z=$x+$y' ../data/big.csv > /dev/null")
run("ADDMLRV", "mlr --no-mmap --csvlite put '$z=$x+$y' ../data/big.csv > /dev/null")