
OK, now these are the results I get with CL-PPCRE 1.1.0: * (lisp-implementation-type) "SBCL" * (lisp-implementation-version) "0.8.18.34" * *regex-char-code-limit* 1114112 * (defun parse-file (file) (with-open-file (in file) (do ((line (read-line in nil :eof) (read-line in nil :eof))) ((eql line :eof) t) (do-register-groups ((#'intern host)) ("^(?:\\S+ ){7}(\\S+)\\s+- commAlarm" line) ;; do something other than printing for more accurate TIME ;; results host)))) PARSE-FILE * (time (parse-file "/tmp/sample50")) ;; your sample, 50 lines Evaluation took: 0.03 seconds of real time 0.01 seconds of user run time 0.02 seconds of system run time 0 page faults and 519,008 bytes consed. T * (time (parse-file "/tmp/sample500")) ;; your sample, 500 lines Evaluation took: 0.314 seconds of real time 0.24 seconds of user run time 0.07 seconds of system run time 0 page faults and 5,194,960 bytes consed. T * (time (parse-file "/tmp/sample5000")) ;; your sample, 5000 lines Evaluation took: 1.187 seconds of real time 0.34 seconds of user run time 0.85 seconds of system run time 0 page faults and 51,942,672 bytes consed. T That's better, isn't it? Thanks for making me aware of this problem. Cheers, Edi.