瀏覽代碼

o improved sumcol benchmark
* read line in string and convert to integer using val, like gcc does
* cache input text file, to avoid calling fpc_get_input all the time.

git-svn-id: trunk@9671 -

Vincent Snijders 18 年之前
父節點
當前提交
46ca7ee46a
共有 1 個文件被更改,包括 11 次插入4 次删除
  1. 11 4
      tests/bench/shootout/src/sumcol.pp

+ 11 - 4
tests/bench/shootout/src/sumcol.pp

@@ -4,20 +4,27 @@
   contributed by Ales Katona
   modified by Daniel Mantione
   modified by Steve Fisher
+  modified by Vincent Snijders
 }
 
 {$iochecks off}
 
 var
   num, tot: longint;
+  s: string[128];
   textbuf: array[0..8191] of char;
+  infile: ^text;
 
 begin
-  settextbuf(input, textbuf);
+  infile := @input;
+  settextbuf(infile^, textbuf);
+  tot := 0;
   repeat
-    readLn( num );
-    tot += num
-  until eof;
+    readLn(infile^, s);
+    val(s, num);
+    tot := tot + num
+  until eof(infile^);
   writeLn(tot)
 end.
 
+