diff --git a/c/experimental/getlines.c b/c/experimental/getlines.c index 6d74295a9..60b56ce30 100644 --- a/c/experimental/getlines.c +++ b/c/experimental/getlines.c @@ -5,7 +5,6 @@ #include "lib/mlrutil.h" #include "lib/mlrdatetime.h" #include "input/file_reader_stdio.h" -#include "input/file_reader_mmap.h" #include "input/lrec_readers.h" #include "lib/string_builder.h" #include "input/byte_readers.h" @@ -259,47 +258,6 @@ static int read_file_fgetc_psb(char* filename, int do_write) { return bc; } -// ================================================================ -static char* read_line_mmap_psb(file_reader_mmap_state_t* ph, string_builder_t* psb, char* irs) { - char *p = ph->sol; - while (TRUE) { - if (p == ph->eof) { - ph->sol = p; - if (sb_is_empty(psb)) - return NULL; - else - return sb_finish(psb); - } else if (*p == irs[0]) { - ph->sol = p+1; - return sb_finish(psb); - } else { - sb_append_char(psb, *p); - p++; - } - } -} - -static int read_file_mmap_psb(char* filename, int do_write) { - file_reader_mmap_state_t* ph = file_reader_mmap_open(NULL, filename); - string_builder_t* psb = sb_alloc(STRING_BUILDER_INIT_SIZE); - char* irs = "\n"; - int bc = 0; - - while (TRUE) { - char* line = read_line_mmap_psb(ph, psb, irs); - if (line == NULL) - break; - if (do_write) { - fputs(line, stdout); - fputc('\n', stdout); - } - bc += strlen(line); - } - sb_free(psb); - file_reader_mmap_close(ph, NULL); - return bc; -} - // ================================================================ #define IRS_TOKEN 11 #define EOF_TOKEN 22 @@ -431,13 +389,6 @@ int main(int argc, char** argv) { printf("type=fgetc_psb,t=%.6lf,n=%d\n", t, bc); fflush(stdout); - s = get_systime(); - bc = read_file_mmap_psb(filename, do_write); - e = get_systime(); - t = e - s; - printf("type=mmap_psb,t=%.6lf,n=%d\n", t, bc); - fflush(stdout); - s = get_systime(); bc = read_file_pfr_psb(filename, do_write); e = get_systime(); diff --git a/doc/cookbook.html b/doc/cookbook.html index c391ea7ad..c7281d5ef 100644 --- a/doc/cookbook.html +++ b/doc/cookbook.html @@ -858,7 +858,7 @@ date,qoh
 $ wc -l data/miss-date.csv
-    1372 data/miss-date.csv
+1372 data/miss-date.csv
 

diff --git a/doc/data-examples.html b/doc/data-examples.html index 1be8faf43..4b27261a5 100644 --- a/doc/data-examples.html +++ b/doc/data-examples.html @@ -208,7 +208,7 @@ St. Johns - - -

 $ wc -l data/colored-shapes.dkvp
-   10078 data/colored-shapes.dkvp
+10078 data/colored-shapes.dkvp
 

diff --git a/doc/data-sharing.html b/doc/data-sharing.html index b407c44b4..5072b0d45 100644 --- a/doc/data-sharing.html +++ b/doc/data-sharing.html @@ -206,11 +206,11 @@ Run as-is:

 $ python polyglot-dkvp-io/example.py < data/small
-a=pan,b=pan,i=1,y=0.7268028627434533,ab=panpan,iy=1.7268028627434533,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
-a=eks,b=pan,i=2,y=0.5221511083334797,ab=ekspan,iy=2.5221511083334796,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
-a=wye,b=wye,i=3,y=0.33831852551664776,ab=wyewye,iy=3.3383185255166477,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
-a=eks,b=wye,i=4,y=0.13418874328430463,ab=ekswye,iy=4.134188743284304,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
-a=wye,b=pan,i=5,y=0.8636244699032729,ab=wyepan,iy=5.863624469903273,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
+a=pan,b=pan,i=1,y=0.726802862743,ab=panpan,iy=1.72680286274,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
+a=eks,b=pan,i=2,y=0.522151108333,ab=ekspan,iy=2.52215110833,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
+a=wye,b=wye,i=3,y=0.338318525517,ab=wyewye,iy=3.33831852552,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
+a=eks,b=wye,i=4,y=0.134188743284,ab=ekswye,iy=4.13418874328,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
+a=wye,b=pan,i=5,y=0.863624469903,ab=wyepan,iy=5.8636244699,ta=str,tb=str,ti=int,ty=float,tab=str,tiy=float
 

@@ -221,12 +221,12 @@ Run as-is, then pipe to Miller for pretty-printing:

 $ python polyglot-dkvp-io/example.py < data/small | mlr --opprint cat
-a   b   i y                   ab     iy                 ta  tb  ti  ty    tab tiy
-pan pan 1 0.7268028627434533  panpan 1.7268028627434533 str str int float str float
-eks pan 2 0.5221511083334797  ekspan 2.5221511083334796 str str int float str float
-wye wye 3 0.33831852551664776 wyewye 3.3383185255166477 str str int float str float
-eks wye 4 0.13418874328430463 ekswye 4.134188743284304  str str int float str float
-wye pan 5 0.8636244699032729  wyepan 5.863624469903273  str str int float str float
+a   b   i y              ab     iy            ta  tb  ti  ty    tab tiy
+pan pan 1 0.726802862743 panpan 1.72680286274 str str int float str float
+eks pan 2 0.522151108333 ekspan 2.52215110833 str str int float str float
+wye wye 3 0.338318525517 wyewye 3.33831852552 str str int float str float
+eks wye 4 0.134188743284 ekswye 4.13418874328 str str int float str float
+wye pan 5 0.863624469903 wyepan 5.8636244699  str str int float str float
 

@@ -417,11 +417,11 @@ wye pan 5 0.5732889198020006 0.8636244699032729 {5}

 $ mlr --opprint put '$o = system("echo -n ".$a."| sha1sum")' data/small
 a   b   i x                   y                   o
-pan pan 1 0.3467901443380824  0.7268028627434533  f29c748220331c273ef16d5115f6ecd799947f13  -
-eks pan 2 0.7586799647899636  0.5221511083334797  456d988ecb3bf1b75f057fc6e9fe70db464e9388  -
-wye wye 3 0.20460330576630303 0.33831852551664776 eab0de043d67f441c7fd1e335f0ca38708e6ebf7  -
-eks wye 4 0.38139939387114097 0.13418874328430463 456d988ecb3bf1b75f057fc6e9fe70db464e9388  -
-wye pan 5 0.5732889198020006  0.8636244699032729  eab0de043d67f441c7fd1e335f0ca38708e6ebf7  -
+pan pan 1 0.3467901443380824  0.7268028627434533  bd2bd8216b9cb4aa5a12daa6cfc98eef2ee20e56  -
+eks pan 2 0.7586799647899636  0.5221511083334797  16191338e81a46c7d127f5c8899f5c92e3cd38e3  -
+wye wye 3 0.20460330576630303 0.33831852551664776 14ba3c3e96a2474ab6dc7409ebf9d6b9cc3d84f0  -
+eks wye 4 0.38139939387114097 0.13418874328430463 16191338e81a46c7d127f5c8899f5c92e3cd38e3  -
+wye pan 5 0.5732889198020006  0.8636244699032729  14ba3c3e96a2474ab6dc7409ebf9d6b9cc3d84f0  -
 

diff --git a/doc/manpage.html b/doc/manpage.html index 16af411c5..806deee2a 100644 --- a/doc/manpage.html +++ b/doc/manpage.html @@ -289,14 +289,6 @@ OPTIONS -p is a keystroke-saver for --nidx --fs space --repifs - --mmap --no-mmap --mmap-below {n} Use mmap for files whenever possible, never, or - for files less than n bytes in size. Default is for - files less than 4294967296 bytes in size. - 'Whenever possible' means always except for when reading - standard input which is not mmappable. If you don't know - what this means, don't worry about it -- it's a minor - performance optimization. - Examples: --csv for CSV-formatted input and output; --idkvp --opprint for DKVP-formatted input and pretty-printed output. @@ -818,8 +810,6 @@ VERBS --ips {pair-separator character} --repifs --repips - --mmap - --no-mmap Please use "mlr --usage-separator-options" for information on specifying separators. Please see http://johnkerl.org/miller/doc/reference.html for more information including examples. @@ -2372,7 +2362,7 @@ SEE ALSO - 2020-01-05 MILLER(1) + 2020-01-26 MILLER(1)

diff --git a/doc/manpage.txt b/doc/manpage.txt index ea71ba069..ab32a034b 100644 --- a/doc/manpage.txt +++ b/doc/manpage.txt @@ -215,14 +215,6 @@ OPTIONS -p is a keystroke-saver for --nidx --fs space --repifs - --mmap --no-mmap --mmap-below {n} Use mmap for files whenever possible, never, or - for files less than n bytes in size. Default is for - files less than 4294967296 bytes in size. - 'Whenever possible' means always except for when reading - standard input which is not mmappable. If you don't know - what this means, don't worry about it -- it's a minor - performance optimization. - Examples: --csv for CSV-formatted input and output; --idkvp --opprint for DKVP-formatted input and pretty-printed output. @@ -744,8 +736,6 @@ VERBS --ips {pair-separator character} --repifs --repips - --mmap - --no-mmap Please use "mlr --usage-separator-options" for information on specifying separators. Please see http://johnkerl.org/miller/doc/reference.html for more information including examples. @@ -2298,4 +2288,4 @@ SEE ALSO - 2020-01-05 MILLER(1) + 2020-01-26 MILLER(1) diff --git a/doc/mlr.1 b/doc/mlr.1 index 941a9d906..e0883c20d 100644 --- a/doc/mlr.1 +++ b/doc/mlr.1 @@ -2,12 +2,12 @@ .\" Title: mlr .\" Author: [see the "AUTHOR" section] .\" Generator: ./mkman.rb -.\" Date: 2020-01-05 +.\" Date: 2020-01-26 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" -.TH "MILLER" "1" "2020-01-05" "\ \&" "\ \&" +.TH "MILLER" "1" "2020-01-26" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Portability definitions .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -270,14 +270,6 @@ Please use "mlr --help-function {function name}" for function-specific help. -p is a keystroke-saver for --nidx --fs space --repifs - --mmap --no-mmap --mmap-below {n} Use mmap for files whenever possible, never, or - for files less than n bytes in size. Default is for - files less than 4294967296 bytes in size. - 'Whenever possible' means always except for when reading - standard input which is not mmappable. If you don't know - what this means, don't worry about it -- it's a minor - performance optimization. - Examples: --csv for CSV-formatted input and output; --idkvp --opprint for DKVP-formatted input and pretty-printed output. @@ -987,8 +979,6 @@ the main "mlr --help" for more information on syntax for these arguments. --ips {pair-separator character} --repifs --repips - --mmap - --no-mmap Please use "mlr --usage-separator-options" for information on specifying separators. Please see http://johnkerl.org/miller/doc/reference.html for more information including examples. diff --git a/doc/reference-dsl.html b/doc/reference-dsl.html index e43c87651..5e73309d2 100644 --- a/doc/reference-dsl.html +++ b/doc/reference-dsl.html @@ -2025,7 +2025,7 @@ subsequent assignments are done unconditionally:

 $ mlr put '$x > 0.0; $y = log10($x); $z = sqrt($y)' data/put-gating-example-1.dkvp
 x=-1,y=nan,z=nan
-x=0,y=-inf,z=nan
+x=0,y=-inf,z=-nan
 x=1,y=0.000000,z=0.000000
 x=2,y=0.301030,z=0.548662
 x=3,y=0.477121,z=0.690740
diff --git a/doc/reference-verbs.html b/doc/reference-verbs.html
index 2fe1e4d78..4e7b4b83e 100644
--- a/doc/reference-verbs.html
+++ b/doc/reference-verbs.html
@@ -1738,8 +1738,6 @@ the main "mlr --help" for more information on syntax for these arguments.
   --ips {pair-separator character}
   --repifs
   --repips
-  --mmap
-  --no-mmap
 Please use "mlr --usage-separator-options" for information on specifying separators.
 Please see http://johnkerl.org/miller/doc/reference.html for more information
 including examples.
@@ -3958,7 +3956,7 @@ Options:
 
 $ wc -l data/colored-shapes.dkvp
-   10078 data/colored-shapes.dkvp
+10078 data/colored-shapes.dkvp
 

@@ -4130,7 +4128,7 @@ color=purple,shape=square,flag=0

 $ wc -l data/repeats.dkvp
-      57 data/repeats.dkvp
+57 data/repeats.dkvp
 

diff --git a/doc/reference.html b/doc/reference.html index efe764929..eadc1347d 100644 --- a/doc/reference.html +++ b/doc/reference.html @@ -1416,14 +1416,6 @@ Data-format options, for input, output, or both: -p is a keystroke-saver for --nidx --fs space --repifs - --mmap --no-mmap --mmap-below {n} Use mmap for files whenever possible, never, or - for files less than n bytes in size. Default is for - files less than 4294967296 bytes in size. - 'Whenever possible' means always except for when reading - standard input which is not mmappable. If you don't know - what this means, don't worry about it -- it's a minor - performance optimization. - Examples: --csv for CSV-formatted input and output; --idkvp --opprint for DKVP-formatted input and pretty-printed output.