I often find shell completions get slowed down (having to hit tab several times instead of one) by files I never need to be included in completions. In zsh we can simply ignore those globs like so:
zstyle ':completion:*' ignored-patterns \
'*-lock' '*-lock.*' \
'*.tmp' '*.temp' \
'*.swp' '*~'