Hi Bart, Bart Schaefer <[EMAIL PROTECTED]> writes:
> The workaround for Romain is probably to enable caching of the output > by creating a cache-policy style for :completion::complete:-command-:: > context. Even after enabling the cache it's still unbearably slow on my machine (_path_commands already defines a cache-policy style). Each completion takes about two seconds. oprofile reports the following: | CPU: Core 2, speed 1600 MHz (estimated) | Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with | a unit mask of 0x00 (Unhalted core cycles) count 100000 | samples % symbol name | 11356 31.2528 ztrdup | 5635 15.5080 zalloc | 3244 8.9278 .plt | 2766 7.6123 setarrvalue | 1942 5.3446 zhalloc | 1460 4.0181 arrlen | 1457 4.0098 freearray Which suggests that most of the time is spent building the arrays fed to compadd and/or formatting $descs w/ zformat. AIUI, before your change for 24570 most of the contents of $commands were being thrown away, and it's no longer the case. It matters since the array is quite large, $commands has 3901 elements here, 2805 of which have descriptions: $ echo $#_command_descriptions 2805 $ stat -c %s ~/.zsh/command-descriptions 145962 $ -- Romain Francoise <[EMAIL PROTECTED]> http://people.debian.org/~rfrancoise/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]