This commit is contained in:
John Kerl 2015-09-13 19:55:04 -07:00
parent 4be3cc29ed
commit 89df74a2c0

View file

@ -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.