diff --git a/c/todo.txt b/c/todo.txt index 655f0ee32..ac33d8d43 100644 --- a/c/todo.txt +++ b/c/todo.txt @@ -11,7 +11,7 @@ MAJOR: autoconfig ---------------------------------------------------------------- MAJOR: multi-char separators for file formats other than CSV -k oxs done functionally +k oxs is functionally done * need backslash-handling/parsing ... at least, \r \n \t. and, into online help. ! ixs: o ips & ifs: needs *p==ixs with strneq(p, ixs); also double-null poke (sos&eos) @@ -19,6 +19,7 @@ k oxs done functionally o irs for stdio: it all comes down to getdelim. ! so focus on getline perf. ! maybe best idea is to re-impl getdelim with multichar irs. + - rework csv reader to look more like csvlite (which is performant)? ! temporary option is getdelim with final char of the multichar irs; strcmp backwards; usually get it right; occasionally have to strcat/memcpy multiple such. this is gross so don't do it unless multichar-getdelim doesn't pan out. @@ -36,11 +37,17 @@ MAJOR: csv mem-leak/read-perf but lrec_put w/ !LREC_FREE_VALUE for ptr-backed. * or *maybe* pbr retent/free-flags for string/mmap w/o denorm, but only if it's both elegant and fast +! experimental/getlines.c shows that even without the heap-fragging + issue, pfr+psb is 3.5x slower than getdelim. again suggesting + multi-char-terminated getdelim might be the best line of approach. ---------------------------------------------------------------- MINOR -? dkvp quoting ... maybe wait until after the mmap/perf split +* define dkvp, nidx, etc @ cover x 2 + +? dkvp quoting ... wait until after the mmap/perf split. else, very undesirable + performance regression. * go back and re-apply ctype/isprint portability things to new spots @@ -49,8 +56,7 @@ MINOR * dsls/ build outside of pwd? or just lemon $(absdir)/filenamegoeshere.y? * configure w/o autotools? likewise manpage. etc. multiple build levels. -* define dkvp, nidx, etc @ cover x 2 -* mlr faq page +b mlr faq page * --mmap @ mlr -h * ctype ff @ bld.out @@ -59,8 +65,6 @@ MINOR * -h vs. usage : stdout vs. stderr * pprint join? - - * header-length data mismatch et. al: file/line * make an updated dependency list, esp. in light of a2x et al.