Matching "):" in the end can match commit subjects by mistake i.e. if
commit subject ends with "):" too (e.g. linux project has one such
commit).
To avoid this and any similar problems print summary only (-s).
Restructure output to look exactly as it was before with awk.
Use git-rev-list and builtin --count option
$ time git log --oneline | wc -l
30613
real 0m0.858s
user 0m0.684s
sys 0m0.239s
$ time git rev-list --count HEAD
30613
real 0m0.416s
user 0m0.396s
sys 0m0.018s