benchmark flamegraph w/profile-flame-graph & flamegraph.pl

This commit is contained in:
Artemis Everfree 2023-03-22 21:43:04 -07:00
parent d1c348a853
commit abb898b73a

View file

@ -3,6 +3,7 @@
racket/function racket/function
racket/match racket/match
racket/string racket/string
profile-flame-graph
"pure-utils.rkt" "pure-utils.rkt"
"url-utils.rkt" "url-utils.rkt"
"xexpr-utils.rkt") "xexpr-utils.rkt")
@ -302,4 +303,30 @@
(with-input-from-file "../storage/Frog.html" (with-input-from-file "../storage/Frog.html"
(λ () (λ ()
(define tree (html->xexp (current-input-port))) (define tree (html->xexp (current-input-port)))
(time (length (update-tree-wiki tree "minecraft"))))))) (time (length (update-tree-wiki tree "minecraft"))))))
; benchmark with flamegraph
; these two flamegraphs need to be separated i think so that they resolve
; different thunks. probably only need to be in two different with-input-file
; blocks.
(when (file-exists? "../storage/Frog.html")
(with-input-from-file "../storage/Frog.html"
(λ ()
(define tree (html->xexp (current-input-port)))
(profile
(length (update-tree-wiki tree "minecraft"))
#:svg-path "../storage/Frog-profile-errortrace.svg"
#:repeat 100
#:use-errortrace? #t)
)))
(when (file-exists? "../storage/Frog.html")
(with-input-from-file "../storage/Frog.html"
(λ ()
(define tree (html->xexp (current-input-port)))
(profile
(length (update-tree-wiki tree "minecraft"))
#:svg-path "../storage/Frog-profile.svg"
#:repeat 100
#:use-errortrace? #f)
)))
)