completion: inline __gitcomp_1 to its sole callsite
commitb4cfbc969cd910992a08b12dc612d19323668e09
authorFelipe Contreras <felipe.contreras@gmail.com>
Wed, 10 Apr 2013 06:57:56 +0000 (10 01:57 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 15 Apr 2013 06:18:58 +0000 (14 23:18 -0700)
treef0d9c85a815178cabb7f7175e8c06c5218b3f050
parent7d13e0a3afbc9d2f58a32ec27391a947e58e382c
completion: inline __gitcomp_1 to its sole callsite

There is no point in calling a separate function that is only used
in one place. Especially considering that there's no need to call
compgen, and we traverse the words ourselves both in __gitcompadd,
and __gitcomp_1.

Let's squash the functions together, and traverse only once.

This improves performance. For N number of words:

  == 1 ==
  original: 0.002s
  new: 0.000s
  == 10 ==
  original: 0.005s
  new: 0.001s
  == 100 ==
  original: 0.009s
  new: 0.006s
  == 1000 ==
  original: 0.027s
  new: 0.019s
  == 10000 ==
  original: 0.163s
  new: 0.151s
  == 100000 ==
  original: 1.555s
  new: 1.497s

No functional changes.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash