summaryrefslogtreecommitdiff
path: root/t/valgrind
diff options
context:
space:
mode:
authorLibravatar David Turner <dturner@twopensource.com>2014-06-18 01:54:42 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-06-18 10:57:18 -0700
commit745224e04a03e4544c58d5d38d3c54f67100f8eb (patch)
tree615a8a79eaedbb737408f3b3c2ff8f0940f92684 /t/valgrind
parentrefs.c: optimize check_refname_component() (diff)
downloadtgif-745224e04a03e4544c58d5d38d3c54f67100f8eb.tar.xz
refs.c: SSE2 optimizations for check_refname_component
Optimize check_refname_component using SSE2 on x86_64. git rev-parse HEAD is a good test-case for this, since it does almost nothing except parse refs. For one particular repo with about 60k refs, almost all packed, the timings are: Look up table: 29 ms SSE2: 23 ms This cuts about 20% off of the runtime. Ondřej Bílka <neleai@seznam.cz> suggested an SSE2 approach to the substring searches, which netted a speed boost over the SSE4.2 code I had initially written. Signed-off-by: David Turner <dturner@twitter.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/valgrind')
-rw-r--r--t/valgrind/default.supp8
1 files changed, 8 insertions, 0 deletions
diff --git a/t/valgrind/default.supp b/t/valgrind/default.supp
index 0a6724fcc4..332ab1a3b3 100644
--- a/t/valgrind/default.supp
+++ b/t/valgrind/default.supp
@@ -49,3 +49,11 @@
Memcheck:Addr4
fun:copy_ref
}
+{
+ ignore-sse-check_refname_format
+ Memcheck:Addr8
+ fun:check_refname_format
+ fun:cmd_check_ref_format
+ fun:handle_builtin
+ fun:main
+}