Only adds one doctest so far, but gets the machinery working. To
solve the problem of dejafu's fancy output, this checks a
"DEJAFU_DOCTEST" env var: when set, the output is simplified.
Doctests run in a separate Travis job (rather than the existing "test"
job) because the version of doctest in LTS-6 doesn't like CPP. I feel
that as long as they're working for the latest LTS, all is fine.
Before:
105,910,870,840 bytes allocated in the heap
24,834,921,776 bytes copied during GC
17,775,024 bytes maximum residency (7973 sample(s))
674,464 bytes maximum slop
50 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 196263 colls, 0 par 43.085s 43.734s 0.0002s 0.0225s
Gen 1 7973 colls, 0 par 21.953s 22.359s 0.0028s 0.0778s
TASKS: 204933 (204929 bound, 4 peak workers (4 total), using -N1)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.001s ( 0.001s elapsed)
MUT time 127.384s (138.737s elapsed)
GC time 65.038s ( 66.093s elapsed)
EXIT time 0.000s ( 0.000s elapsed)
Total time 192.517s (204.831s elapsed)
After:
89,073,483,552 bytes allocated in the heap
20,134,704,256 bytes copied during GC
13,426,968 bytes maximum residency (6623 sample(s))
265,720 bytes maximum slop
38 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 165191 colls, 0 par 34.872s 35.319s 0.0002s 0.0111s
Gen 1 6623 colls, 0 par 17.515s 17.831s 0.0027s 0.0509s
TASKS: 173871 (173867 bound, 4 peak workers (4 total), using -N1)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.001s ( 0.001s elapsed)
MUT time 104.495s (113.498s elapsed)
GC time 52.387s ( 53.150s elapsed)
EXIT time 0.001s ( 0.001s elapsed)
Total time 156.991s (166.650s elapsed)
Closes#168