Sebastian Gniazdowski
daa2ec31b5
*highlight: One case less, no ;| fall through
...
15xx values are now very common, though the gains are low
parse.zsh -oo, after changes:
Running time: 1.5569020000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1549,43 4,43 99,99% 1194,57 3,41 77,09% -hsmw-highlight-process
2) 2800 294,41 0,11 19,00% 294,41 0,11 19,00% -hsmw-highlight-string
3) 1750 40,59 0,02 2,62% 40,59 0,02 2,62% -hsmw-highlight-check-path
4) 1400 19,87 0,01 1,28% 19,87 0,01 1,28% -hsmw-highlight-main-type
5) 1 0,09 0,09 0,01% 0,09 0,09 0,01% -hsmw-highlight-fill-option-variables
6) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-11-02 12:13:31 +01:00
Sebastian Gniazdowski
48a117959a
*highlight: Optimization: remove *-stack-pop call, squash conditions
...
parse.zsh -oo, after changes:
Running time: 1.5628500000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1555,27 4,44 100,00% 1199,16 3,43 77,10% -hsmw-highlight-process
2) 2800 295,11 0,11 18,97% 295,11 0,11 18,97% -hsmw-highlight-string
3) 1750 40,98 0,02 2,64% 40,98 0,02 2,64% -hsmw-highlight-check-path
4) 1400 20,01 0,01 1,29% 20,01 0,01 1,29% -hsmw-highlight-main-type
5) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
6) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-11-02 11:58:41 +01:00
Sebastian Gniazdowski
36aa966a09
*highlight: Prepare *-stack-pop for removal – shorter, compressed
2016-11-02 11:32:34 +01:00
Sebastian Gniazdowski
430ebac5a1
*highlight: Optimization: *-stack-pop doesn't need eval
...
parse.zsh -oo, after changes:
Running time: 1.5681030000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1560,69 4,46 99,99% 1199,03 3,43 76,82% -hsmw-highlight-process
2) 2800 294,91 0,11 18,90% 294,91 0,11 18,90% -hsmw-highlight-string
3) 1750 40,71 0,02 2,61% 40,71 0,02 2,61% -hsmw-highlight-check-path
4) 1400 20,87 0,01 1,34% 20,87 0,01 1,34% -hsmw-highlight-main-type
5) 350 5,17 0,01 0,33% 5,17 0,01 0,33% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-11-02 11:24:37 +01:00
Sebastian Gniazdowski
b4f69992ce
*highlight: Fix bug: no start_pos=$end_pos in comment short path
2016-11-02 10:55:10 +01:00
Sebastian Gniazdowski
2955679446
*highlight: Optimization: remove *-resolve-alias call
...
parse.zsh -oo, after changes:
Running time: 1.5813580000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1573,92 4,50 99,99% 1206,50 3,45 76,65% -hsmw-highlight-process
2) 2800 294,35 0,11 18,70% 294,35 0,11 18,70% -hsmw-highlight-string
3) 1750 40,74 0,02 2,59% 40,74 0,02 2,59% -hsmw-highlight-check-path
4) 1400 22,48 0,02 1,43% 22,48 0,02 1,43% -hsmw-highlight-main-type
5) 350 9,86 0,03 0,63% 9,86 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-11-02 09:44:02 +01:00
Sebastian Gniazdowski
ee30daa40b
*highlight: Correct order of checks in *-main-type
2016-11-02 09:42:31 +01:00
Sebastian Gniazdowski
1c56551a67
*highlight: Optimization: remove "return" keyword from *-main-type
...
parse.zsh -oo, before changes:
Running time: 1.5856540000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1577,71 4,51 99,99% 1205,79 3,45 76,42% -hsmw-highlight-process
2) 2800 295,44 0,11 18,72% 295,44 0,11 18,72% -hsmw-highlight-string
3) 1750 40,91 0,02 2,59% 40,91 0,02 2,59% -hsmw-highlight-check-path
4) 1400 25,58 0,02 1,62% 25,58 0,02 1,62% -hsmw-highlight-main-type
5) 350 9,98 0,03 0,63% 9,98 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,13 0,13 0,01% 0,13 0,13 0,01% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
parse.zsh -oo, after changes:
Running time: 1.5778930000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1570,41 4,49 99,99% 1205,58 3,44 76,76% -hsmw-highlight-process
2) 2800 293,42 0,10 18,68% 293,42 0,10 18,68% -hsmw-highlight-string
3) 1750 41,16 0,02 2,62% 41,16 0,02 2,62% -hsmw-highlight-check-path
4) 1400 20,32 0,01 1,29% 20,32 0,01 1,29% -hsmw-highlight-main-type
5) 350 9,93 0,03 0,63% 9,93 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-11-02 09:31:15 +01:00
Sebastian Gniazdowski
c918483dcc
Don't use ^K for kill-whole-line, it is to be used with context feature
2016-11-02 07:38:38 +01:00
Sebastian Gniazdowski
f039d9db63
hsmw: Optimization: switch from [ to [[
2016-11-02 07:35:01 +01:00
Sebastian Gniazdowski
2641b1da89
hsmw: Miracle optimization of query highlighting – via math function
...
For query A|B|C the time is 44 ms vs 502 ms – for the lines of code that
highlight words A,B,C.
No more Zaw license – the borrowed line of code is now removed, and
whole code is licensed under GPLv3 and MIT.
2016-11-01 19:43:55 +01:00
Sebastian Gniazdowski
58faf8d701
hsmw: Fix unclean region_highlight entries by join and split via \0 byte
2016-11-01 18:22:48 +01:00
Sebastian Gniazdowski
8f1d7f3f56
*highlight: Fix quoting detection – track backslashing of backslash
2016-11-01 08:36:22 +01:00
Sebastian Gniazdowski
32750b665e
*plugin.zsh: Default highlight: bg=17 – if $termcap[Co] == 256
2016-10-31 18:53:18 +01:00
Sebastian Gniazdowski
13e21cd4d6
hsmw: Optimize shifting indexes by offset – *highlight can take offset
2016-10-31 18:43:48 +01:00
Sebastian Gniazdowski
c92d64f944
Updated README.md
2016-10-31 14:56:28 +01:00
Sebastian Gniazdowski
964fdf7240
Match *highlight's support of \n in the outer hsmw code
2016-10-31 14:51:28 +01:00
Sebastian Gniazdowski
939b96bdd5
*highlight: Extension for HSMW: colorify two newline characters \n
...
This is a serious slow down for highlighting multi-line code not having
new lines replaced with '\n' – but such code can revert this patch, and
also should.
parse.zsh ./to-parse.zsh changes.out, after changes
Running time: 2.3695570000
num calls time self name
-----------------------------------------------------------------------------------
1) 1 2368,80 2368,80 99,99% 2222,89 2222,89 93,83% -hsmw-highlight-process
2) 754 124,15 0,16 5,24% 124,15 0,16 5,24% -hsmw-highlight-main-type
3) 395 12,22 0,03 0,52% 12,22 0,03 0,52% -hsmw-highlight-check-path
4) 22 5,99 0,27 0,25% 5,99 0,27 0,25% -hsmw-highlight-string
5) 6 2,60 0,43 0,11% 2,60 0,43 0,11% -hsmw-highlight-dollar-string
6) 46 0,95 0,02 0,04% 0,95 0,02 0,04% -hsmw-highlight-stack-pop
7) 1 0,15 0,15 0,01% 0,15 0,15 0,01% -hsmw-highlight-fill-option-variables
8) 1 0,02 0,02 0,00% 0,02 0,02 0,00% -hsmw-highlight-init
Line-wise input is also affected, but the feature is too good to resign
of it.
parse.zsh -oo, after changes:
Running time: 1.5768150000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1569,21 4,48 99,99% 1204,77 3,44 76,77% -hsmw-highlight-process
2) 2800 288,78 0,10 18,40% 288,78 0,10 18,40% -hsmw-highlight-string
3) 1750 41,03 0,02 2,61% 41,03 0,02 2,61% -hsmw-highlight-check-path
4) 1400 24,76 0,02 1,58% 24,76 0,02 1,58% -hsmw-highlight-main-type
5) 350 9,87 0,03 0,63% 9,87 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,10 0,10 0,01% 0,10 0,10 0,01% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-31 14:13:07 +01:00
Sebastian Gniazdowski
12e631cd29
*highlight: Optimization: short path for ';'
...
Values at 15xx level started to again appear quite much often.
parse.zsh -oo, after changes:
Running time: 1.5699860000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1561,31 4,46 99,99% 1197,84 3,42 76,71% -hsmw-highlight-process
2) 2800 288,12 0,10 18,45% 288,12 0,10 18,45% -hsmw-highlight-string
3) 1750 41,02 0,02 2,63% 41,02 0,02 2,63% -hsmw-highlight-check-path
4) 1400 24,56 0,02 1,57% 24,56 0,02 1,57% -hsmw-highlight-main-type
5) 350 9,77 0,03 0,63% 9,77 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,09 0,09 0,01% 0,09 0,09 0,01% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-31 13:53:42 +01:00
Sebastian Gniazdowski
f34e89afa6
*highlight: Optimization: eradicate impossible path
...
parse.zsh -oo, after changes:
Running time: 1.5890270000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1581,38 4,52 99,99% 1218,92 3,48 77,07% -hsmw-highlight-process
2) 2800 286,76 0,10 18,13% 286,76 0,10 18,13% -hsmw-highlight-string
3) 1750 40,76 0,02 2,58% 40,76 0,02 2,58% -hsmw-highlight-check-path
4) 1400 24,90 0,02 1,57% 24,90 0,02 1,57% -hsmw-highlight-main-type
5) 350 10,04 0,03 0,63% 10,04 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,08 0,08 0,00% 0,08 0,08 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,02 0,02 0,00% 0,02 0,02 0,00% -hsmw-highlight-init
2016-10-31 13:44:15 +01:00
Sebastian Gniazdowski
bf306203f9
*highlight: Optimization and slowdown – short path for actual new lines
...
parse.zsh ./to-parse.zsh changes.out, before changes:
Running time: 2.2866420000
num calls time self name
-----------------------------------------------------------------------------------
1) 1 2286,16 2286,16 100,00% 2131,92 2131,92 93,25% -hsmw-highlight-process
2) 1270 133,34 0,10 5,83% 133,34 0,10 5,83% -hsmw-highlight-main-type
3) 395 12,09 0,03 0,53% 12,09 0,03 0,53% -hsmw-highlight-check-path
4) 22 5,48 0,25 0,24% 5,48 0,25 0,24% -hsmw-highlight-string
5) 6 2,36 0,39 0,10% 2,36 0,39 0,10% -hsmw-highlight-dollar-string
6) 46 0,97 0,02 0,04% 0,97 0,02 0,04% -hsmw-highlight-stack-pop
7) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
8) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
parse.zsh ./to-parse.zsh changes.out, after changes:
Running time: 2.1237140000
num calls time self name
-----------------------------------------------------------------------------------
1) 1 2123,18 2123,18 100,00% 1979,84 1979,84 93,25% -hsmw-highlight-process
2) 755 122,09 0,16 5,75% 122,09 0,16 5,75% -hsmw-highlight-main-type
3) 395 13,66 0,03 0,64% 13,66 0,03 0,64% -hsmw-highlight-check-path
4) 22 4,46 0,20 0,21% 4,46 0,20 0,21% -hsmw-highlight-string
5) 6 2,04 0,34 0,10% 2,04 0,34 0,10% -hsmw-highlight-dollar-string
6) 46 1,10 0,02 0,05% 1,10 0,02 0,05% -hsmw-highlight-stack-pop
7) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
8) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
./parse.zsh -oo, after changes:
Running time: 1.5936520000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1586,12 4,53 99,99% 1222,20 3,49 77,05% -hsmw-highlight-process
2) 2800 288,42 0,10 18,18% 288,42 0,10 18,18% -hsmw-highlight-string
3) 1750 40,57 0,02 2,56% 40,57 0,02 2,56% -hsmw-highlight-check-path
4) 1400 24,97 0,02 1,57% 24,97 0,02 1,57% -hsmw-highlight-main-type
5) 350 9,96 0,03 0,63% 9,96 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-31 13:36:55 +01:00
Sebastian Gniazdowski
8e8969095b
*highlight: Don't highlight paths existing in CDPATH, unless it's cd
2016-10-31 11:37:42 +01:00
Sebastian Gniazdowski
68348d09ee
*higlight,hsmw: No need for is-at-least – test for ZSH_ARGZERO instead
2016-10-31 11:17:00 +01:00
Sebastian Gniazdowski
3d2ac47621
*highlight: Properly handle tokens with :. Don't add future tokens
2016-10-30 14:28:38 +01:00
Sebastian Gniazdowski
35058d6632
*highlight: Optimization and logic change: no path at command position
...
parse.zsh -oo, after changes:
Running time: 1.5690220000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1561,42 4,46 99,99% 1191,03 3,40 76,27% -hsmw-highlight-process
2) 2800 288,00 0,10 18,44% 288,00 0,10 18,44% -hsmw-highlight-string
3) 1750 47,38 0,03 3,03% 47,38 0,03 3,03% -hsmw-highlight-check-path
4) 1400 25,15 0,02 1,61% 25,15 0,02 1,61% -hsmw-highlight-main-type
5) 350 9,86 0,03 0,63% 9,86 0,03 0,63% -hsmw-highlight-stack-pop
6) 1 0,11 0,11 0,01% 0,11 0,11 0,01% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-30 12:12:35 +01:00
Sebastian Gniazdowski
7b04ca7d8e
*highlight: Highlight ]]
2016-10-30 11:42:53 +01:00
Sebastian Gniazdowski
9b73595c01
*highlight: Correctly handle ';;' at command place
...
The slow down is effect of INTERACTIVE_COMMENTS
parse.zsh -oo, after changes:
Running time: 1.5990070000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1591,56 4,55 99,99% 1201,14 3,43 75,47% -hsmw-highlight-process
2) 2800 292,64 0,10 18,39% 292,64 0,10 18,39% -hsmw-highlight-string
3) 2450 62,28 0,03 3,91% 62,28 0,03 3,91% -hsmw-highlight-check-path
4) 1400 25,69 0,02 1,61% 25,69 0,02 1,61% -hsmw-highlight-main-type
5) 350 9,80 0,03 0,62% 9,80 0,03 0,62% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-30 11:31:07 +01:00
Sebastian Gniazdowski
62c5fe444e
parse.zsh uses INTERACTIVE_COMMENTS, to-parse.zsh doesn't contain $()
2016-10-30 07:45:14 +01:00
Sebastian Gniazdowski
136d10e0bb
More distinct name of saved-widgets namespace
2016-10-29 17:46:53 +02:00
Sebastian Gniazdowski
aeda2e7be4
Fix for the OMZ workaround – zle-keymap-select doesn't have to exist
2016-10-29 17:44:36 +02:00
Sebastian Gniazdowski
25dae1d616
Workaround for OMZ vi-mode plugin
2016-10-29 17:40:30 +02:00
Sebastian Gniazdowski
2f6393dd0b
Set promptsubst
2016-10-29 14:13:00 +02:00
Sebastian Gniazdowski
45ac0f3e89
*highlight: Support :modifiers in variables, in strings – naive support
2016-10-28 10:11:27 +02:00
Sebastian Gniazdowski
619d9c7184
Only define _hsmw_main() once – check $functions before defining
2016-10-27 18:22:58 +02:00
Sebastian Gniazdowski
aee52a54ac
Properly bind ^W – trigger search recomputation
2016-10-27 18:18:46 +02:00
Sebastian Gniazdowski
1a599ee5f0
Use .kill-whole-line instead of .vi-kill-line
2016-10-27 18:15:19 +02:00
Sebastian Gniazdowski
58601435c8
Also bind ^U, as far I know Emacs clears line on that keys
2016-10-27 18:13:02 +02:00
Sebastian Gniazdowski
a44a52e3f2
Bind ^W, ^K – the latter to .vi-kill-line – .kill-line doesn't work
2016-10-27 18:10:56 +02:00
Sebastian Gniazdowski
6c556fc96c
Updated README.md
2016-10-27 16:40:13 +02:00
Sebastian Gniazdowski
2aa2362dba
Updated README.md
2016-10-27 16:39:15 +02:00
Sebastian Gniazdowski
56e289a40a
Architectural change: recompute highlighting only on page, query change
2016-10-27 16:34:07 +02:00
Sebastian Gniazdowski
ee0201a91b
Faster startup – use ${(@)history} when search pattern is empty
2016-10-27 15:50:18 +02:00
Sebastian Gniazdowski
619c27c2cf
Guard to not run trap handler twice while in .recursive-edit
2016-10-27 15:41:57 +02:00
Sebastian Gniazdowski
b682066065
Set no-op trap after leaving recursive-edit –> ensure code is executed
2016-10-27 15:08:45 +02:00
Sebastian Gniazdowski
78a7f0cf79
*highlight: Optimization: Convert from BIT_* variables into integers
...
./parse.zsh -oo, after changes:
Running time: 1.5050810000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1497,75 4,28 99,99% 1132,48 3,24 75,61% -hsmw-highlight-process
2) 2800 267,48 0,10 17,86% 267,48 0,10 17,86% -hsmw-highlight-string
3) 2450 61,29 0,03 4,09% 61,29 0,03 4,09% -hsmw-highlight-check-path
4) 1400 24,89 0,02 1,66% 24,89 0,02 1,66% -hsmw-highlight-main-type
5) 350 11,61 0,03 0,78% 11,61 0,03 0,78% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-26 11:54:43 +02:00
Sebastian Gniazdowski
25f4e8bcd1
Revert "*highlight: Optimization: convert "$var" -> $var"
...
This reverts commit 453de0a0ab
.
Turns out that ./parse ./to-parse works MUCH (almost 100ms) slower
without variables quoted.
./parse.zsh -oo, after changes:
Running time: 1.5502340000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1542,62 4,41 99,99% 1177,33 3,36 76,32% -hsmw-highlight-process
2) 2800 267,57 0,10 17,34% 267,57 0,10 17,34% -hsmw-highlight-string
3) 2450 61,97 0,03 4,02% 61,97 0,03 4,02% -hsmw-highlight-check-path
4) 1400 26,14 0,02 1,69% 26,14 0,02 1,69% -hsmw-highlight-main-type
5) 350 9,61 0,03 0,62% 9,61 0,03 0,62% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-26 11:22:09 +02:00
Sebastian Gniazdowski
fc6379f8d5
*highlight: Optimization: cdpath_dir declared outside *-check-path
...
parse.zsh -oo, after changes:
Running time: 1.5547670000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1547,01 4,42 99,99% 1183,65 3,38 76,50% -hsmw-highlight-process
2) 2800 266,89 0,10 17,25% 266,89 0,10 17,25% -hsmw-highlight-string
3) 2450 62,13 0,03 4,02% 62,13 0,03 4,02% -hsmw-highlight-check-path
4) 1400 24,75 0,02 1,60% 24,75 0,02 1,60% -hsmw-highlight-main-type
5) 350 9,59 0,03 0,62% 9,59 0,03 0,62% -hsmw-highlight-stack-pop
6) 1 0,14 0,14 0,01% 0,14 0,14 0,01% -hsmw-highlight-fill-option-variables
7) 1 0,02 0,02 0,00% 0,02 0,02 0,00% -hsmw-highlight-init
2016-10-26 11:13:12 +02:00
Sebastian Gniazdowski
4b70d8d977
*highlight: Optimization: *-string doesn't need own match, mend, etc.
...
parse.zsh -oo, after changes:
Running time: 1.5645680000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1557,07 4,45 100,00% 1183,85 3,38 76,03% -hsmw-highlight-process
2) 2800 266,75 0,10 17,13% 266,75 0,10 17,13% -hsmw-highlight-string
3) 2450 72,70 0,03 4,67% 72,70 0,03 4,67% -hsmw-highlight-check-path
4) 1400 24,16 0,02 1,55% 24,16 0,02 1,55% -hsmw-highlight-main-type
5) 350 9,62 0,03 0,62% 9,62 0,03 0,62% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-26 11:07:39 +02:00
Sebastian Gniazdowski
610144c56f
*highlight: Optimization: declare *-string vars outside, once
...
parse.zsh -oo, after changes:
Running time: 1.5839050000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1576,36 4,50 99,99% 1177,23 3,36 74,68% -hsmw-highlight-process
2) 2800 292,16 0,10 18,53% 292,16 0,10 18,53% -hsmw-highlight-string
3) 2450 72,24 0,03 4,58% 72,24 0,03 4,58% -hsmw-highlight-check-path
4) 1400 24,98 0,02 1,58% 24,98 0,02 1,58% -hsmw-highlight-main-type
5) 350 9,74 0,03 0,62% 9,74 0,03 0,62% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-26 11:05:27 +02:00
Sebastian Gniazdowski
2c77ee78f2
*highlight: Regression in optimization: forgotten path-related code
...
parse.zsh -oo, after changes:
Running time: 1.6143310000
num calls time self name
-----------------------------------------------------------------------------------
1) 350 1606,98 4,59 99,99% 1177,02 3,36 73,24% -hsmw-highlight-process
2) 2800 321,60 0,11 20,01% 321,60 0,11 20,01% -hsmw-highlight-string
3) 2450 71,93 0,03 4,48% 71,93 0,03 4,48% -hsmw-highlight-check-path
4) 1400 26,73 0,02 1,66% 26,73 0,02 1,66% -hsmw-highlight-main-type
5) 350 9,70 0,03 0,60% 9,70 0,03 0,60% -hsmw-highlight-stack-pop
6) 1 0,07 0,07 0,00% 0,07 0,07 0,00% -hsmw-highlight-fill-option-variables
7) 1 0,01 0,01 0,00% 0,01 0,01 0,00% -hsmw-highlight-init
2016-10-26 10:52:58 +02:00