Commit graph

185 commits

Author SHA1 Message Date
Sebastian Gniazdowski
3414b244e4 *highlight: Optimization: compress '))' code. Also fix the style used 2016-10-25 21:04:57 +02:00
Sebastian Gniazdowski
ced97ae261 *highlight: Optimization: Don't assign style just to use its value
parse.zsh -oo, after changes:

Running time: 1.6640020000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1656,49     4,73   99,99%   1215,36     3,47   73,37%  -hsmw-highlight-process
 2) 2800         326,28     0,12   19,70%    326,28     0,12   19,70%  -hsmw-highlight-string
 3) 2450          72,58     0,03    4,38%     72,58     0,03    4,38%  -hsmw-highlight-check-path
 4) 1400          24,87     0,02    1,50%     24,87     0,02    1,50%  -hsmw-highlight-main-type
 5)  350           9,75     0,03    0,59%      9,75     0,03    0,59%  -hsmw-highlight-stack-pop
 6)  350           7,66     0,02    0,46%      7,66     0,02    0,46%  -hsmw-highlight-path-separators
 7)    1           0,08     0,08    0,00%      0,08     0,08    0,00%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 21:01:51 +02:00
Sebastian Gniazdowski
24aa777af6 *highlight: Format if in one line (the ${(P)MATCH} *-type code) 2016-10-25 20:56:52 +02:00
Sebastian Gniazdowski
002e127eb2 *highlight: Optimization: don't support broken links as valid paths
parse.zsh -oo, after changes:

Running time: 1.6690320000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1661,69     4,75   99,99%   1220,15     3,49   73,42%  -hsmw-highlight-process
 2) 2800         326,19     0,12   19,63%    326,19     0,12   19,63%  -hsmw-highlight-string
 3) 2450          72,28     0,03    4,35%     72,28     0,03    4,35%  -hsmw-highlight-check-path
 4) 1400          25,88     0,02    1,56%     25,88     0,02    1,56%  -hsmw-highlight-main-type
 5)  350           9,74     0,03    0,59%      9,74     0,03    0,59%  -hsmw-highlight-stack-pop
 6)  350           7,46     0,02    0,45%      7,46     0,02    0,45%  -hsmw-highlight-path-separators
 7)    1           0,07     0,07    0,00%      0,07     0,07    0,00%  -hsmw-highlight-fill-option-variables
 8)    1           0,02     0,02    0,00%      0,02     0,02    0,00%  -hsmw-highlight-init
2016-10-25 20:53:55 +02:00
Sebastian Gniazdowski
8c2018bcb4 *highlight: Unneeded "$" in arithmetic context 2016-10-25 20:50:02 +02:00
Sebastian Gniazdowski
ca2e333cfd *highlight: Optimization: use previous style value; compress 2016-10-25 20:47:34 +02:00
Sebastian Gniazdowski
5c30308699 *highlight: Optimization: use previous style value; compress
parse.zsh -oo, after changes:

Running time: 1.6716980000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1664,15     4,75   99,99%   1217,95     3,48   73,18%  -hsmw-highlight-process
 2) 2800         325,63     0,12   19,57%    325,63     0,12   19,57%  -hsmw-highlight-string
 3) 2450          77,34     0,03    4,65%     77,34     0,03    4,65%  -hsmw-highlight-check-path
 4) 1400          26,02     0,02    1,56%     26,02     0,02    1,56%  -hsmw-highlight-main-type
 5)  350           9,70     0,03    0,58%      9,70     0,03    0,58%  -hsmw-highlight-stack-pop
 6)  350           7,51     0,02    0,45%      7,51     0,02    0,45%  -hsmw-highlight-path-separators
 7)    1           0,12     0,12    0,01%      0,12     0,12    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,02     0,02    0,00%      0,02     0,02    0,00%  -hsmw-highlight-init
2016-10-25 20:40:54 +02:00
Sebastian Gniazdowski
f65df29907 *highlight: Compress always-block related code, use explicit string 2016-10-25 20:36:04 +02:00
Sebastian Gniazdowski
07569cd060 *highlight: Optimization: no need to use REPLY in *check-path
parse.zsh -oo, after changes:

Running time: 1.6844930000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1677,00     4,79   99,99%   1227,55     3,51   73,20%  -hsmw-highlight-process
 2) 2800         328,17     0,12   19,57%    328,17     0,12   19,57%  -hsmw-highlight-string
 3) 2450          79,04     0,03    4,71%     79,04     0,03    4,71%  -hsmw-highlight-check-path
 4) 1400          24,98     0,02    1,49%     24,98     0,02    1,49%  -hsmw-highlight-main-type
 5)  350           9,73     0,03    0,58%      9,73     0,03    0,58%  -hsmw-highlight-stack-pop
 6)  350           7,53     0,02    0,45%      7,53     0,02    0,45%  -hsmw-highlight-path-separators
 7)    1           0,08     0,08    0,00%      0,08     0,08    0,00%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 20:23:44 +02:00
Sebastian Gniazdowski
bd1a7c4d7b *highlight: Optimization: *-string doesn't need "return 0"
parse.zsh -oo, after changes:

Running time: 1.6861610000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1678,63     4,80   99,99%   1228,93     3,51   73,21%  -hsmw-highlight-process
 2) 2800         325,42     0,12   19,39%    325,42     0,12   19,39%  -hsmw-highlight-string
 3) 2450          80,89     0,03    4,82%     80,89     0,03    4,82%  -hsmw-highlight-check-path
 4) 1400          26,01     0,02    1,55%     26,01     0,02    1,55%  -hsmw-highlight-main-type
 5)  350           9,92     0,03    0,59%      9,92     0,03    0,59%  -hsmw-highlight-stack-pop
 6)  350           7,45     0,02    0,44%      7,45     0,02    0,44%  -hsmw-highlight-path-separators
 7)    1           0,10     0,10    0,01%      0,10     0,10    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 20:19:48 +02:00
Sebastian Gniazdowski
6a0228a2a3 Updated README.md 2016-10-25 20:16:44 +02:00
Sebastian Gniazdowski
24aa05d2f7 *highlight: Compress path separator highlighting code 2016-10-25 20:14:56 +02:00
Sebastian Gniazdowski
11ccea242b *highlight: Compress this_word = next_word code 2016-10-25 19:33:34 +02:00
Sebastian Gniazdowski
5febb0340f *highlight: Optimization: *-type to not guard cache with ifs; compress
parse.zsh -oo, after changes:

Running time: 1.6934050000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1685,89     4,82   99,99%   1225,79     3,50   72,70%  -hsmw-highlight-process
 2) 2800         336,76     0,12   19,97%    336,76     0,12   19,97%  -hsmw-highlight-string
 3) 2450          80,37     0,03    4,77%     80,37     0,03    4,77%  -hsmw-highlight-check-path
 4) 1400          25,65     0,02    1,52%     25,65     0,02    1,52%  -hsmw-highlight-main-type
 5)  350           9,80     0,03    0,58%      9,80     0,03    0,58%  -hsmw-highlight-stack-pop
 6)  350           7,52     0,02    0,45%      7,52     0,02    0,45%  -hsmw-highlight-path-separators
 7)    1           0,09     0,09    0,01%      0,09     0,09    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 18:49:53 +02:00
Sebastian Gniazdowski
069cd53650 *highlight: Optimization: no "options_to_set" array, just set option 2016-10-25 18:41:23 +02:00
Sebastian Gniazdowski
b34feb304d *highlight: Remove redundant setting of localoptions 2016-10-25 18:36:27 +02:00
Sebastian Gniazdowski
760fc6cc75 *highlight: Let "emulate" be first instruction in *process function
parse.zsh -oo, after changes:

Running time: 1.7100990000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1702,69     4,86   99,99%   1229,47     3,51   72,20%  -hsmw-highlight-process
 2) 2800         337,70     0,12   19,83%    337,70     0,12   19,83%  -hsmw-highlight-string
 3) 2450          79,86     0,03    4,69%     79,86     0,03    4,69%  -hsmw-highlight-check-path
 4) 1400          38,44     0,03    2,26%     38,44     0,03    2,26%  -hsmw-highlight-main-type
 5)  350           9,76     0,03    0,57%      9,76     0,03    0,57%  -hsmw-highlight-stack-pop
 6)  350           7,48     0,02    0,44%      7,48     0,02    0,44%  -hsmw-highlight-path-separators
 7)    1           0,09     0,09    0,01%      0,09     0,09    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 18:13:39 +02:00
Sebastian Gniazdowski
13b3934f76 *highlight: Define also "buf" and "len" at one "local", etc. keyword
parse.zsh -oo, after changes:

Running time: 1.7114690000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1704,09     4,87  100,00%   1229,84     3,51   72,17%  -hsmw-highlight-process
 2) 2800         337,05     0,12   19,78%    337,05     0,12   19,78%  -hsmw-highlight-string
 3) 2450          81,20     0,03    4,76%     81,20     0,03    4,76%  -hsmw-highlight-check-path
 4) 1400          38,61     0,03    2,27%     38,61     0,03    2,27%  -hsmw-highlight-main-type
 5)  350           9,85     0,03    0,58%      9,85     0,03    0,58%  -hsmw-highlight-stack-pop
 6)  350           7,54     0,02    0,44%      7,54     0,02    0,44%  -hsmw-highlight-path-separators
 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
2016-10-25 18:11:07 +02:00
Sebastian Gniazdowski
18cd426cb2 *highlight: Huge optimization: Don't redefine variables at each loop
parse.zsh -oo, after changes:

Running time: 1.7135350000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1706,03     4,87   99,99%   1230,37     3,52   72,11%  -hsmw-highlight-process
 2) 2800         338,39     0,12   19,83%    338,39     0,12   19,83%  -hsmw-highlight-string
 3) 2450          81,56     0,03    4,78%     81,56     0,03    4,78%  -hsmw-highlight-check-path
 4) 1400          38,43     0,03    2,25%     38,43     0,03    2,25%  -hsmw-highlight-main-type
 5)  350           9,85     0,03    0,58%      9,85     0,03    0,58%  -hsmw-highlight-stack-pop
 6)  350           7,44     0,02    0,44%      7,44     0,02    0,44%  -hsmw-highlight-path-separators
 7)    1           0,12     0,12    0,01%      0,12     0,12    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 18:06:45 +02:00
Sebastian Gniazdowski
1a5ac41130 *highlight: Optimization: don't do ! (( ... )), instead do (( ... ==0 ))
parse.zsh -oo, after changes:

Running time: 1.7914460000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1784,00     5,10  100,00%   1310,16     3,74   73,44%  -hsmw-highlight-process
 2) 2800         334,93     0,12   18,77%    334,93     0,12   18,77%  -hsmw-highlight-string
 3) 2450          81,08     0,03    4,54%     81,08     0,03    4,54%  -hsmw-highlight-check-path
 4) 1400          40,07     0,03    2,25%     40,07     0,03    2,25%  -hsmw-highlight-main-type
 5)  350           9,76     0,03    0,55%      9,76     0,03    0,55%  -hsmw-highlight-stack-pop
 6)  350           8,00     0,02    0,45%      8,00     0,02    0,45%  -hsmw-highlight-path-separators
 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
2016-10-25 17:58:49 +02:00
Sebastian Gniazdowski
a558600315 *highlight: Better code handling history expansion
Times like 181x ms seem to occur more often.
2016-10-25 17:54:42 +02:00
Sebastian Gniazdowski
56aa7592b7 *highlight: Optimization: compress code handling braces, always block
parse.zsh -oo, after changes:

Running time: 1.7983390000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1790,84     5,12   99,99%   1316,27     3,76   73,50%  -hsmw-highlight-process
 2) 2800         335,29     0,12   18,72%    335,29     0,12   18,72%  -hsmw-highlight-string
 3) 2450          80,24     0,03    4,48%     80,24     0,03    4,48%  -hsmw-highlight-check-path
 4) 1400          41,35     0,03    2,31%     41,35     0,03    2,31%  -hsmw-highlight-main-type
 5)  350           9,70     0,03    0,54%      9,70     0,03    0,54%  -hsmw-highlight-stack-pop
 6)  350           7,99     0,02    0,45%      7,99     0,02    0,45%  -hsmw-highlight-path-separators
 7)    1           0,09     0,09    0,01%      0,09     0,09    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 17:48:51 +02:00
Sebastian Gniazdowski
8996f4c281 *highlight: Optimization: compress code handling MULTI_FUNC_DEF 2016-10-25 17:44:51 +02:00
Sebastian Gniazdowski
bd6e44859c *highlight: Make '|| false' a comment
parse.zsh -oo, after changes:

Running time: 1.8009350000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1793,49     5,12  100,00%   1319,59     3,77   73,57%  -hsmw-highlight-process
 2) 2800         336,92     0,12   18,78%    336,92     0,12   18,78%  -hsmw-highlight-string
 3) 2450          80,77     0,03    4,50%     80,77     0,03    4,50%  -hsmw-highlight-check-path
 4) 1400          38,54     0,03    2,15%     38,54     0,03    2,15%  -hsmw-highlight-main-type
 5)  350           9,74     0,03    0,54%      9,74     0,03    0,54%  -hsmw-highlight-stack-pop
 6)  350           7,93     0,02    0,44%      7,93     0,02    0,44%  -hsmw-highlight-path-separators
 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
2016-10-25 17:36:57 +02:00
Sebastian Gniazdowski
b6704cca92 *highlight: Unneded "already_added=1" 2016-10-25 17:34:13 +02:00
Sebastian Gniazdowski
fddf05f911 *highlight: One more betterment of history expansion related code 2016-10-25 17:32:10 +02:00
Sebastian Gniazdowski
2b7656552a *highlight: Optimization: better code that handles history expansion
parse.zsh -oo, after changes:

Running time: 1.8102530000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1802,80     5,15  100,00%   1325,15     3,79   73,50%  -hsmw-highlight-process
 2) 2800         339,52     0,12   18,83%    339,52     0,12   18,83%  -hsmw-highlight-string
 3) 2450          81,13     0,03    4,50%     81,13     0,03    4,50%  -hsmw-highlight-check-path
 4) 1400          39,34     0,03    2,18%     39,34     0,03    2,18%  -hsmw-highlight-main-type
 5)  350           9,77     0,03    0,54%      9,77     0,03    0,54%  -hsmw-highlight-stack-pop
 6)  350           7,89     0,02    0,44%      7,89     0,02    0,44%  -hsmw-highlight-path-separators
 7)    1           0,08     0,08    0,00%      0,08     0,08    0,00%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 17:29:46 +02:00
Sebastian Gniazdowski
b8f92d4f89 *highlight: Compress code handling assignments 2016-10-25 17:24:05 +02:00
Sebastian Gniazdowski
0915653d7d *highlight: More correct array assignment detection 2016-10-25 17:19:18 +02:00
Sebastian Gniazdowski
1dcfc3c372 *highlight: Don't redefine already_added, don't set it for comments
parse.zsh -oo, after changes:

Running time: 1.8225100000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1814,83     5,19   99,99%   1336,69     3,82   73,65%  -hsmw-highlight-process
 2) 2800         338,83     0,12   18,67%    338,83     0,12   18,67%  -hsmw-highlight-string
 3) 2450          81,75     0,03    4,50%     81,75     0,03    4,50%  -hsmw-highlight-check-path
 4) 1400          39,80     0,03    2,19%     39,80     0,03    2,19%  -hsmw-highlight-main-type
 5)  350           9,74     0,03    0,54%      9,74     0,03    0,54%  -hsmw-highlight-stack-pop
 6)  350           8,02     0,02    0,44%      8,02     0,02    0,44%  -hsmw-highlight-path-separators
 7)    1           0,10     0,10    0,01%      0,10     0,10    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 16:58:55 +02:00
Sebastian Gniazdowski
d266b62e7e *highlight: Optimization: compress noglob-related code
parse.zsh -oo, after changes:

Running time: 1.8347470000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1827,26     5,22  100,00%   1354,88     3,87   74,14%  -hsmw-highlight-process
 2) 2800         335,45     0,12   18,36%    335,45     0,12   18,36%  -hsmw-highlight-string
 3) 2450          79,78     0,03    4,37%     79,78     0,03    4,37%  -hsmw-highlight-check-path
 4) 1400          39,59     0,03    2,17%     39,59     0,03    2,17%  -hsmw-highlight-main-type
 5)  350           9,61     0,03    0,53%      9,61     0,03    0,53%  -hsmw-highlight-stack-pop
 6)  350           7,94     0,02    0,43%      7,94     0,02    0,43%  -hsmw-highlight-path-separators
 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
2016-10-25 16:49:52 +02:00
Sebastian Gniazdowski
246f6e8627 *highlight: Optimization: compress in_redirection-related code
parse.zsh -oo, after changes:

Running time: 1.8488320000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1841,21     5,26   99,99%   1364,52     3,90   74,10%  -hsmw-highlight-process
 2) 2800         336,95     0,12   18,30%    336,95     0,12   18,30%  -hsmw-highlight-string
 3) 2450          81,13     0,03    4,41%     81,13     0,03    4,41%  -hsmw-highlight-check-path
 4) 1400          40,74     0,03    2,21%     40,74     0,03    2,21%  -hsmw-highlight-main-type
 5)  350           9,80     0,03    0,53%      9,80     0,03    0,53%  -hsmw-highlight-stack-pop
 6)  350           8,08     0,02    0,44%      8,08     0,02    0,44%  -hsmw-highlight-path-separators
 7)    1           0,10     0,10    0,01%      0,10     0,10    0,01%  -hsmw-highlight-fill-option-variables
 8)    1           0,03     0,03    0,00%      0,03     0,03    0,00%  -hsmw-highlight-init
2016-10-25 16:47:02 +02:00
Sebastian Gniazdowski
d34d812c71 *highlight: Optimization: reuse "local", etc. keywords
./parse -oo, after changes:

Running time: 1.8522630000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1844,79     5,27  100,00%   1368,04     3,91   74,15%  -hsmw-highlight-process
 2) 2800         338,28     0,12   18,34%    338,28     0,12   18,34%  -hsmw-highlight-string
 3) 2450          81,31     0,03    4,41%     81,31     0,03    4,41%  -hsmw-highlight-check-path
 4) 1400          39,39     0,03    2,14%     39,39     0,03    2,14%  -hsmw-highlight-main-type
 5)  350           9,81     0,03    0,53%      9,81     0,03    0,53%  -hsmw-highlight-stack-pop
 6)  350           7,95     0,02    0,43%      7,95     0,02    0,43%  -hsmw-highlight-path-separators
 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
2016-10-25 16:37:38 +02:00
Sebastian Gniazdowski
46c907d524 *highlight: Harmful 'unset path_dirs_was_set', shorter near code 2016-10-25 16:21:33 +02:00
Sebastian Gniazdowski
2bef2b9343 *highlight: Optimization – save options outside main highlighting fun
Lower 18xx are being seen, like below:

Running time: 1.8632000000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1855,72     5,30  100,00%   1376,89     3,93   74,19%  -hsmw-highlight-process
 2) 2800         342,38     0,12   18,45%    342,38     0,12   18,45%  -hsmw-highlight-string
 3) 2450          80,16     0,03    4,32%     80,16     0,03    4,32%  -hsmw-highlight-check-path
 4) 1400          38,99     0,03    2,10%     38,99     0,03    2,10%  -hsmw-highlight-main-type
 5)  350           9,83     0,03    0,53%      9,83     0,03    0,53%  -hsmw-highlight-stack-pop
 6)  350           7,47     0,02    0,40%      7,47     0,02    0,40%  -hsmw-highlight-path-separators
 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
2016-10-25 16:17:39 +02:00
Sebastian Gniazdowski
0400ad6d76 *highlight: Hash with token types must be global 2016-10-25 16:05:51 +02:00
Sebastian Gniazdowski
594c4074fc *highlight: Optimization: don't use 'true' and 'false' builtins
The result much more often reaches 18xx milliseconds. Below is almost
the bottom value, which is ~1874 ms.

./parse -oo, after changes:

Running time: 1.8982620000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1890,78     5,40  100,00%   1411,07     4,03   74,63%  -hsmw-highlight-process
 2) 2800         340,46     0,12   18,01%    340,46     0,12   18,01%  -hsmw-highlight-string
 3) 2450          80,94     0,03    4,28%     80,94     0,03    4,28%  -hsmw-highlight-check-path
 4) 1400          40,49     0,03    2,14%     40,49     0,03    2,14%  -hsmw-highlight-main-type
 5)  350           9,76     0,03    0,52%      9,76     0,03    0,52%  -hsmw-highlight-stack-pop
 6)  350           8,07     0,02    0,43%      8,07     0,02    0,43%  -hsmw-highlight-path-separators
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 15:22:54 +02:00
Sebastian Gniazdowski
7eaa9f26aa *highlight: Optimization – a hash of token types instead of 3 arrays
./parse -oo, before changes:

Running time: 2.0874240000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        2079,89     5,94  100,00%   1591,12     4,55   76,50%  -hsmw-highlight-process
 2) 2800         342,91     0,12   16,49%    342,91     0,12   16,49%  -hsmw-highlight-string
 3) 2450          85,09     0,03    4,09%     85,09     0,03    4,09%  -hsmw-highlight-check-path
 4) 1400          42,54     0,03    2,05%     42,54     0,03    2,05%  -hsmw-highlight-main-type
 5)  350           9,98     0,03    0,48%      9,98     0,03    0,48%  -hsmw-highlight-stack-pop
 6)  350           8,24     0,02    0,40%      8,24     0,02    0,40%  -hsmw-highlight-path-separators
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init

./parse -oo, after changes:

Running time: 1.9223140000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        1914,66     5,47  100,00%   1435,29     4,10   74,96%  -hsmw-highlight-process
 2) 2800         340,12     0,12   17,76%    340,12     0,12   17,76%  -hsmw-highlight-string
 3) 2450          81,34     0,03    4,25%     81,34     0,03    4,25%  -hsmw-highlight-check-path
 4) 1400          39,98     0,03    2,09%     39,98     0,03    2,09%  -hsmw-highlight-main-type
 5)  350           9,87     0,03    0,52%      9,87     0,03    0,52%  -hsmw-highlight-stack-pop
 6)  350           8,05     0,02    0,42%      8,05     0,02    0,42%  -hsmw-highlight-path-separators
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 15:10:31 +02:00
Sebastian Gniazdowski
0ab5b98062 *highlight: Optimization: unneeded block {} in if argument 2016-10-25 14:03:56 +02:00
Sebastian Gniazdowski
c87d9acd8f *highlight: Set of optimizations, also logic changes (commandseparator)
parse -oo, before:

Running time: 2.2680830000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        2260,37     6,46  100,00%   1679,94     4,80   74,32%  -hsmw-highlight-process
 2) 2800         358,98     0,13   15,88%    358,98     0,13   15,88%  -hsmw-highlight-string
 3) 2450          87,01     0,04    3,85%     87,01     0,04    3,85%  -hsmw-highlight-check-path
 4) 1400          72,33     0,05    3,20%     72,33     0,05    3,20%  (anon)
 5) 1400          42,94     0,03    1,90%     42,94     0,03    1,90%  -hsmw-highlight-main-type
 6)  350          10,27     0,03    0,45%     10,27     0,03    0,45%  -hsmw-highlight-stack-pop
 7)  350           8,91     0,03    0,39%      8,91     0,03    0,39%  -hsmw-highlight-path-separators
 8)    1           0,02     0,02    0,00%      0,02     0,02    0,00%  -hsmw-highlight-init

parse -oo, after:

Running time: 2.0801330000
num  calls                time                       self            name
-----------------------------------------------------------------------------------
 1)  350        2072,44     5,92  100,00%   1586,54     4,53   76,55%  -hsmw-highlight-process
 2) 2800         341,85     0,12   16,49%    341,85     0,12   16,49%  -hsmw-highlight-string
 3) 2450          83,71     0,03    4,04%     83,71     0,03    4,04%  -hsmw-highlight-check-path
 4) 1400          42,58     0,03    2,05%     42,58     0,03    2,05%  -hsmw-highlight-main-type
 5)  350           9,69     0,03    0,47%      9,69     0,03    0,47%  -hsmw-highlight-stack-pop
 6)  350           8,07     0,02    0,39%      8,07     0,02    0,39%  -hsmw-highlight-path-separators
 7)    1           0,01     0,01    0,00%      0,01     0,01    0,00%  -hsmw-highlight-init
2016-10-25 14:00:08 +02:00
Sebastian Gniazdowski
8ff58ae0ec Optimization: generate disp_list only on page change or query change 2016-10-24 13:35:13 +02:00
Sebastian Gniazdowski
2e4c70638c Optimization: initialize highlighting's cache only once per run 2016-10-24 13:05:16 +02:00
Sebastian Gniazdowski
eefe1f1149 Re-bind some additional keys (ESC-b, ESC-f, ESC-w) 2016-10-24 10:25:25 +02:00
Sebastian Gniazdowski
bd33ae121d Updated README.md 2016-10-24 10:08:55 +02:00
Sebastian Gniazdowski
1e65c840f4 Escape too cancels search 2016-10-24 10:08:20 +02:00
Sebastian Gniazdowski
08d09d633e Updated README.md 2016-10-24 10:04:01 +02:00
Sebastian Gniazdowski
a91406590e Workaround for Zsh versions like 5.0.2 – Ctrl-V to cancel search 2016-10-24 10:00:58 +02:00
Sebastian Gniazdowski
0623cd6d9c Optimize out array length computation, partially change [ -> [[ 2016-10-22 14:31:35 +02:00
Sebastian Gniazdowski
7b6dc6a27c Updated README.md 2016-10-22 13:22:02 +02:00
Sebastian Gniazdowski
76de528ef3 Updated README.md 2016-10-22 12:53:27 +02:00