3 ms·
Would love to see this for Common Lisp.
by submeta 6y ago
Would love to see this for Common Lisp.
- fishmaster 6y agoMe too. Alas, I can't do it myself.
- gibsonf1 6y agoCommon Lisp (sbcl.org): (non-optimized - needs to remove need for consing) (defmethod performance-count ((path-file string)) (let ((map (make-hash-table :test 'equal))) (with-open-file (stream path-file :direction :input :if-does-not-exist nil) (when stream (loop for line = (read-line stream nil 'end) until (eq line 'end) do (let ((split (split-string #\space (string-downcase line)))) (dolist (word split) (let ((index (gethash word map))) (if index (setf (gethash word map) (incf index)) (setf (gethash word map) 1)))))) (let ((keys (sort (alexandria:hash-table-keys map) (lambda(x y)(> (gethash x map)(gethash y map)))))) (dolist (key keys) (format t "~A ~A~%" key (gethash key map)))))))) WEB> (time (performance-count "/home/frederick/performance-comparison.txt")) the 4 foo 2 defenestration 1 Evaluation took: 0.000 seconds of real time 0.000294 seconds of total run time (0.000000 user, 0.000294 system) 100.00% CPU 757,077 processor cycles 0 bytes consed NIL WEB>
- fishmaster 6y agoDoes that use the corpus from the article?