!7 // Typical results: Can do ? characters with -Xmx12G // ~? us per character !include once #1028523 // LineComp_PairIndex, new version set flag LineComp_SingleChain. p { noRegularGC(); twice { print(); go(args); } } svoid go(S[] args) { int n = parseIntOr(first(args), 1); int max = parseIntOr(second(args), 100*oneMillion()); for (; n <= max; n += (n >= tenMillion() ? tenMillion() : n)) { consoleStatus("n=" + n); Random random = repeatableRandomizer(); S input = stringFromRepF(() -> charPlus('a', randomInt(random, 3)), n); long time = sysNow(); new LineCompCompressor compressor; compressor.verboseStats = true; LineCompedSingle lc = lineComp_compressTextAsChars(compressor, input); time = sysNow()-time; printBenchResult("complexity: " + lcRoughComplexity(lc), time, n); } }