git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Make stash a builtin
@ 2016-01-28 19:38 Matthias Aßhauer
  2016-01-28 20:36 ` [PATCH 1/2] stash--helper: implement "git stash--helper" Matthias Asshauer
  0 siblings, 1 reply; 15+ messages in thread
From: Matthias Aßhauer @ 2016-01-28 19:38 UTC (permalink / raw)
  To: git; +Cc: johannes.schindelin

These are the first two Patches in an upcomming series of Patches to
convert git stash into a builtin command. This is mainly based on the
general performance of scripts running inside an interpreter (bash in
this case) running inside a POSIX emulation layer on Windows. Shell,
perl and python scripts are generaly a lot faster on Unix-like systems
compared to Windows systems. That does not mean that Unix-like systems
won't benefit from more native Git commands, but the effect is bigger
on Git for Windows.

These two patches port over the core non-patch part of git-stash into
native code using a separate helper command. This helper command is
intended as a temporary meassure and as such it's subject to change.
For this reason, I did not implement new regression tests, documentation
or localizations for this command.

I meassured the changes in excecution time for the stash related
regression tests on the same hardware running Windows 8.1 and
Kubuntu 15.10. Each result is the difference between the average of five
meassurements (six on Linux, because I lost count on the first run of
meassurements) each before and after these changes. I meassured the
following changes:

Windows:

t3903
real -5,10%
user -0,94%
sys +0,16% (10ms)

t3904
real -0,30%
user -2,98% (20ms)
sys +5,03%

t3905
real -4,03%
user -8,13%
sys +17,42%

t3906
real -2,57%
user +1,94%
sys +1,59%

Linux:

t3903
real +0,63%
user +10,87% (3ms)
sys +4,29% (4ms)

t3904
real -7,29%
user -30,61%
sys +5,77% (4ms)

t3905
real -7,29%
user -33,33% (2ms)
sys +20% (2ms)

t3906
real -0,88%
user -1,08% (1ms)
sys -2,22%

I added the asolute times where I think the difference is below the
meassurement precission (4ms on Linux) and on the two lowest absolute
differences on windows. A full log of all meassurement runs is available
at https://gist.github.com/rimrul/82adf3b368ed633263d2. Please note that
according to Johannes Schindelin, maintainer of Git for Windows, the
meassuring of sys time on Windows is unreliable. With that in mind,
in summary this is a slight increase in performance on Linux, and a more
noticeable increase on Windows.

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-02-01 23:40 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-28 19:38 [PATCH 0/2] Make stash a builtin Matthias Aßhauer
2016-01-28 20:36 ` [PATCH 1/2] stash--helper: implement "git stash--helper" Matthias Asshauer
2016-01-28 20:36   ` [PATCH 2/2] stash: use "stash--helper" Matthias Asshauer
2016-01-28 20:59     ` Stefan Beller
2016-01-28 21:25       ` AW: " Matthias Aßhauer
2016-01-28 21:41         ` Stefan Beller
2016-01-28 23:28           ` Roberto Tyley
2016-01-29 19:37             ` AW: " Matthias Aßhauer
2016-01-29 11:21       ` Thomas Gummerer
2016-01-29 18:34         ` Junio C Hamano
2016-01-28 23:06   ` [PATCH 1/2] stash--helper: implement "git stash--helper" Junio C Hamano
2016-01-29 19:32     ` AW: " Matthias Aßhauer
2016-01-29 19:58       ` Junio C Hamano
2016-02-01 23:36         ` Michael Blume
2016-02-01 23:40           ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).