flamegraph #2

Open
artemis wants to merge 2 commits from flamegraph into main

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")
@ -298,8 +299,34 @@
; check that noscript images are removed ; check that noscript images are removed
(check-equal? ((query-selector (λ (t a c) (eq? t 'noscript)) transformed)) #f) (check-equal? ((query-selector (λ (t a c) (eq? t 'noscript)) transformed)) #f)
; benchmark ; benchmark
(when (file-exists? "../storage/Frog.html") (when (file-exists? "../storage/Block.html")
(with-input-from-file "../storage/Frog.html" (with-input-from-file "../storage/Block.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/Block.html")
(with-input-from-file "../storage/Block.html"
(λ ()
(define tree (html->xexp (current-input-port)))
(profile
(length (update-tree-wiki tree "minecraft"))
#:svg-path "../storage/Block-profile-errortrace.svg"
#:repeat 100
#:use-errortrace? #t)
)))
(when (file-exists? "../storage/Block.html")
(with-input-from-file "../storage/Block.html"
(λ ()
(define tree (html->xexp (current-input-port)))
(profile
(length (update-tree-wiki tree "minecraft"))
#:svg-path "../storage/Block-profile.svg"
#:repeat 100
#:use-errortrace? #f)
)))
)