From abb898b73af65eabb9465a9a26db488d4e330925 Mon Sep 17 00:00:00 2001 From: Artemis Everfree Date: Wed, 22 Mar 2023 21:43:04 -0700 Subject: [PATCH] benchmark flamegraph w/profile-flame-graph & flamegraph.pl --- lib/tree-updater.rkt | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/lib/tree-updater.rkt b/lib/tree-updater.rkt index 074c5a1..bb16792 100644 --- a/lib/tree-updater.rkt +++ b/lib/tree-updater.rkt @@ -3,6 +3,7 @@ racket/function racket/match racket/string + profile-flame-graph "pure-utils.rkt" "url-utils.rkt" "xexpr-utils.rkt") @@ -302,4 +303,30 @@ (with-input-from-file "../storage/Frog.html" (λ () (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) + ))) + )