Thread (26 messages) flat view 26 messages, 9 authors, 2016-06-15

Re: What's cooking in git.git (Feb 2011, #05; Wed, 23)

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:50:40

Hi Kirill,

On Sat, 26 Feb 2011, Kirill Smelkov wrote:
On Fri, Feb 25, 2011 at 10:54:40PM +0100, Johannes Schindelin wrote:
quoted
On Fri, 25 Feb 2011, Kirill Smelkov wrote:
quoted
On Fri, Feb 25, 2011 at 12:11:59PM +0100, Johannes Schindelin wrote:
quoted
Further, I think that my beloved Shift+Insert will no longer work 
with your [2].
Probably yes,
In my experiment after rebuilding msys-1.0.dll, it still works.
xser32.dll has nothing to do with msys - it's just a fake stub for
sh.exe. Before testing, have you "patched" sh.exe the way it is done in
my ks/xser32.dll
(http://repo.or.cz/w/msysgit/kirr.git/commit/9d952c74a52f577b2d16d4e4a489541a8fa7fbbd)
Ah. I had to add -Wl,-kill-at to the LDFLAGS so it works. 

See the ks/xser32 branch (and the ks/msys branch) of msysgit.git.
quoted
The problem for now is that when I time /share/msysGit/run-tests.sh, 
there is hardly any gain from your patches:

Old:


real    18m1.031s
user    6m17.861s
sys     19m25.257s

New:

real    17m54.500s
user    6m12.319s
sys     19m28.567s
Did you patch sh.exe to link to xser32.dll instead of user32.dll?
Now I did, and the difference is quite noticable:

real    15m37.281s
user    5m6.934s
sys     15m53.911s

(Note that I did not spend time to increase the N, so there is no point in 
putting a percentage on the difference.)

I wonder whether we could patch sh.exe so it loads user32.dll _lazily_ 
rather than using the xser32.dll hack?

(This would also fix the issue that I can no longer use Shift+Insert to 
paste the clipboard into the Git Bash...)
Also I can't say for sure (hope yet) how sh-intensitive git tests are, 
but at least running configure for say gettext or whatever should be 
visibly faster, at least on wine.
They are pretty intensive, as they are shell scripts all over the place in 
their own right. I fear, however, that the real problem (maybe not on 
WINE, but with real Windows) is that sh.exe needs to provide too many 
POSIX-like things when starting new processes.

I fear, further, that the only way to make things more efficient on 
Windows is to get rid of the many exec() calls and do more things 
in-process. (If this is true, JGit should kick msysGit's ass.) This would 
not apply to the test suite, though, which needs to stay a shell script 
suite.

But maybe I am wrong, and the performance is lost through memory 
management and filesystem interaction.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help