From bed37dc2375987bd6be39760028bc099b25246a5 Mon Sep 17 00:00:00 2001 From: joachimschmidt557 Date: Thu, 4 Apr 2019 08:08:04 +0200 Subject: [PATCH] Performance improvement in tac --- tac.nim | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/tac.nim b/tac.nim index c71c26c..4a55530 100644 --- a/tac.nim +++ b/tac.nim @@ -9,18 +9,17 @@ proc catFile(file:string) = f = open(file, fmRead) reverseLines: seq[string] for line in lines(f): - reverseLines = line & reverseLines - for line in reverseLines: - writeLine(stdout, line) + reverseLines.add(line) + for i in low(reverseLines)..high(reverseLines): + writeLine(stdout, reverseLines[high(reverseLines) - i]) proc catStdin() = var - line = "" reverseLines: seq[string] - while stdin.readLine(line): - reverseLines = line & reverseLines - for line in reverseLines: - writeLine(stdout, line) + for line in lines(stdin): + reverseLines.add(line) + for i in low(reverseLines)..high(reverseLines): + writeLine(stdout, reverseLines[high(reverseLines) - i]) proc main(files:seq[string]) = if files.len == 0: