Performance improvement in tac

This commit is contained in:
joachimschmidt557 2019-04-04 08:08:04 +02:00
parent 3778f7aad6
commit bed37dc237

15
tac.nim
View file

@ -9,18 +9,17 @@ proc catFile(file:string) =
f = open(file, fmRead) f = open(file, fmRead)
reverseLines: seq[string] reverseLines: seq[string]
for line in lines(f): for line in lines(f):
reverseLines = line & reverseLines reverseLines.add(line)
for line in reverseLines: for i in low(reverseLines)..high(reverseLines):
writeLine(stdout, line) writeLine(stdout, reverseLines[high(reverseLines) - i])
proc catStdin() = proc catStdin() =
var var
line = ""
reverseLines: seq[string] reverseLines: seq[string]
while stdin.readLine(line): for line in lines(stdin):
reverseLines = line & reverseLines reverseLines.add(line)
for line in reverseLines: for i in low(reverseLines)..high(reverseLines):
writeLine(stdout, line) writeLine(stdout, reverseLines[high(reverseLines) - i])
proc main(files:seq[string]) = proc main(files:seq[string]) =
if files.len == 0: if files.len == 0: