racket/collects/mztake/demos/sprofiler/sprofiler-mztake.ss
Greg Cooper 9206b90b8a added NAP-TIME to highway.ss
changed WHERE from a behavior to an event and updated sprofiler-mztake
accordingly

svn: r1617
2005-12-15 01:29:48 +00:00

25 lines
739 B
Scheme

(require (lib "mztake.ss" "mztake" )
(lib "match.ss")
(lib "more-useful-code.ss" "mztake"))
(set-main! "picture.ss")
(define (hash-table-increment! h k)
(let ([old (hash-get h k (lambda () 0))])
(hash-put! h k (add1 old))))
(define pings (make-hash 'equal))
(for-each-e (where)
(match-lambda [(line function context rest ...)
(hash-table-increment! pings (list function context))]
[_ (void)]))
(define clicks (changes (quotient milliseconds 50)))
(set-running-e! (merge-e (clicks . -=> . false)
(clicks . -=> . true)))
(define (show-profile)
(quicksort (hash-pairs pings) (lambda (a b) (> (second a) (second b)))))