![]() Profiler output suggests that forward-match is a bit expensive. Here is profiler output from the original code, when profiler is wrapped around tabify-selection: ------------------------------------------------------------------------------------------------------------ loop [34] 0.1% get-backward-sexp method in ...k/private/racket.rkt:425:2 [28] 99.9% [37] 50648(61.1%) 0(0.0%) stick-to-next-sexp? method in ...k/private/racket.rkt:425:2 ... do-forward-match method in ...rk/private/color.rkt:71:2 [50] 99.9% ... ------------------------------------------------------------------------------------------------------------ get-forward-sexp method in ...k/private/racket.rkt:425:2 [38] 17.1% stick-to-next-sexp? method in ...k/private/racket.rkt:425:2 [37] 82.9% [50] 61043(73.6%) 53(0.1%) do-forward-match method in ...rk/private/color.rkt:71:2 ... colorer-driver method in ...rk/private/color.rkt:71:2 [66] 99.8% match-forward method in paren-tree% [72] 0.1% ------------------------------------------------------------------------------------------------------------ The patch does the prerequisite string matching before calling forward-match. Reference to dev list: http://lists.racket-lang.org/dev/archive/2012-November/010976.html original commit: 43b0e2157c5247653da96d24dee833be429c4bfc |
||
---|---|---|
collects | ||
doc/release-notes | ||
man/man1 |