ファイルが含まれている行数を読み取るためのパフォーマンスを比較しています。
私は最初にwcコマンドラインツールを使用してそれを行いました:
$ time wc -l bigFile.csv
1673820 bigFile.csv
real 0m0.157s
user 0m0.124s
sys 0m0.062s
そして、クリーンなPharoCoreSmalltalk最新1.3で
| file lineCount |
Smalltalk garbageCollect.
( Duration milliSeconds: [ file := FileStream readOnlyFileNamed: 'bigFile.csv'.
lineCount := 0.
[ file atEnd ] whileFalse: [
file nextLine.
lineCount := lineCount + 1 ].
file close.
lineCount. ] timeToRun ) asSeconds.
15
Smalltalkコードを高速化して、wcのパフォーマンスよりも速くまたは近づけるにはどうすればよいですか?