Windows: boost startup by avoiding a static dependency on shell32.dll
authorJohannes Sixt <j6t@kdbg.org>
Fri, 15 Jan 2010 20:12:16 +0000 (21:12 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 17 Jan 2010 00:43:51 +0000 (16:43 -0800)
commit928500e00e0a73a11f5b2296d9baa82dafa7a1a8
tree9cdfc88d54c2e8dd34a843128a76e5313db2826a
parent56932249cf7d327115eae608d550e3a8cca4ea06
Windows: boost startup by avoiding a static dependency on shell32.dll

This DLL is only needed to invoke the browser in a "git help" call. By
looking up the only function that we need at runtime, we can avoid the
startup costs of this DLL.

DLL usage can be profiled with Microsoft's Dependency Walker. For example,
a call to "git diff-files" loaded

before:  19 DLLs
after:    9 DLLs

As a result, the runtime of 'make -j2 test' went down from 16:00min
to 12:40min on one of my boxes.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c