Open
Description
With 6b18b4e test script, master:
FUNCTIONS SORTED ON SELF TIME
count total (s) self (s) function
29646 4.656598 <SNR>35_syn_id_name()
1532 5.261001 0.407066 <SNR>35_match_pairs()
29028 4.712738 0.186393 <SNR>35_ignored_region()
28332 4.856748 0.155025 <SNR>35_is_paren()
30068 0.059254 <SNR>35_current_char()
417 5.570994 0.033857 GetClojureIndent()
417 5.439542 0.032423 <SNR>35_clojure_indent_pos()
315 1.959061 0.012072 <SNR>35_clojure_is_method_special_case_worker()
416 0.112460 0.006156 <SNR>35_clojure_check_for_string_worker()
416 0.116510 0.004050 <SNR>35_check_for_string()
581 0.003795 <SNR>35_strip_namespace_and_macro_chars()
130 0.003790 <SNR>35_match_one()
581 0.003502 <SNR>35_current_word()
315 1.962500 0.003439 <SNR>35_is_method_special_case()
1395 0.002532 <SNR>35_bracket_type()
315 0.001042 <SNR>35_is_reader_conditional_special_case()
Because indent uses the syntax rules, #5 branch already improves this a quite bit:
FUNCTIONS SORTED ON SELF TIME
count total (s) self (s) function
29646 1.478719 <SNR>35_syn_id_name()
1532 2.199816 0.404030 <SNR>35_match_pairs()
29028 1.617763 0.185423 <SNR>35_ignored_region()
28332 1.798798 0.156209 <SNR>35_is_paren()
30068 0.059659 <SNR>35_current_char()
417 2.391534 0.034190 GetClojureIndent()
417 2.312287 0.032532 <SNR>35_clojure_indent_pos()
315 0.809202 0.011783 <SNR>35_clojure_is_method_special_case_worker()
416 0.046043 0.006287 <SNR>35_clojure_check_for_string_worker()
130 0.004105 <SNR>35_match_one()
581 0.004033 <SNR>35_strip_namespace_and_macro_chars()
416 0.050047 0.004003 <SNR>35_check_for_string()
581 0.003524 <SNR>35_current_word()
315 0.812542 0.003340 <SNR>35_is_method_special_case()
1395 0.002603 <SNR>35_bracket_type()
315 0.001093 <SNR>35_is_reader_conditional_special_case()
Testing against Reagent src/reagent/impl/component.cljs
.