Mercurial > hg
view contrib/win32/ReadMe.html @ 35599:af25237be091
perf: add threading capability to perfbdiff
Since we are releasing the GIL during diffing, it is interesting to see how a
thread pool would perform on diffing. We add a new `--threads` argument to
commands. Synchronizing the thread pool is a bit complex because we want to be
able to reuse it from one run to another.
On my computer (i7 with 4 cores + hyperthreading), I get the following data for
about 12000 revisions:
threads wall comb wall gain comb overhead
none 31.596715 31.59 0.00% 0.00%
1 31.621228 31.62 -0.08% 0.09%
2 16.406202 32.8 48.08% 3.83%
3 11.598334 34.76 63.29% 10.03%
4 9.205421 36.77 70.87% 16.40%
5 8.517604 42.51 73.04% 34.57%
6 7.94645 47.58 74.85% 50.62%
7 7.434972 51.92 76.47% 64.36%
8 7.070638 55.34 77.62% 75.18%
Compared to the feature disabled (threads=0), the overhead is negligible with
the threading code (threads=1), and the gain is already 48% with two threads.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Sun, 17 Dec 2017 04:31:27 +0100 |
parents | 76ba5b5a53f0 |
children | 854a7315603e |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Mercurial for Windows</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" > <style type="text/css"> <!-- html { font-family: sans-serif; margin: 1em 2em; } p { margin-top: 0.5em; margin-bottom: 0.5em; } pre { margin: 0.25em 0em; padding: 0.5em; background-color: #EEE; border: thin solid #CCC; } .indented { padding-left: 10pt; } --> </style> </head> <body> <h1>Mercurial for Windows</h1> <p>Welcome to Mercurial for Windows!</p> <p> Mercurial is a command-line application. You must run it from the Windows command prompt (or if you're hard core, a <a href="http://www.mingw.org/">MinGW</a> shell). </p> <p class="indented"> <i>Note: the standard <a href="http://www.mingw.org/">MinGW</a> msys startup script uses rxvt which has problems setting up standard input and output. Running bash directly works correctly.</i> </p> <p> For documentation, please visit the <a href="https://mercurial-scm.org/">Mercurial web site</a>. You can also download a free book, <a href="https://book.mercurial-scm.org/">Mercurial: The Definitive Guide</a>. </p> <p> By default, Mercurial installs to <tt>C:\Program Files\Mercurial</tt>. The Mercurial command is called <tt>hg.exe</tt>. </p> <h1>Testing Mercurial after you've installed it</h1> <p> The easiest way to check that Mercurial is installed properly is to just type the following at the command prompt: </p> <pre> hg </pre> <p> This command should print a useful help message. If it does, other Mercurial commands should work fine for you. </p> <h1>Configuration notes</h1> <h4>Default editor</h4> <p> The default editor for commit messages is 'notepad'. You can set the <tt>EDITOR</tt> (or <tt>HGEDITOR</tt>) environment variable to specify your preference or set it in <tt>mercurial.ini</tt>: </p> <pre> [ui] editor = whatever </pre> <h4>Configuring a Merge program</h4> <p> It should be emphasized that Mercurial by itself doesn't attempt to do a Merge at the file level, neither does it make any attempt to Resolve the conflicts. </p> <p> By default, Mercurial will use the merge program defined by the <tt>HGMERGE</tt> environment variable, or uses the one defined in the <tt>mercurial.ini</tt> file. (see <a href="https://mercurial-scm.org/wiki/MergeProgram">MergeProgram</a> on the Mercurial Wiki for more information) </p> <h1>Reporting problems</h1> <p> Before you report any problems, please consult the <a href="https://mercurial-scm.org/">Mercurial web site</a> and see if your question is already in our list of <a href="https://mercurial-scm.org/wiki/FAQ">Frequently Answered Questions</a> (the "FAQ"). </p> <p> If you cannot find an answer to your question, please feel free to send mail to the Mercurial mailing list, at <a href="mailto:mercurial@mercurial-scm.org">mercurial@mercurial-scm.org</a>. <b>Remember</b>, the more useful information you include in your report, the easier it will be for us to help you! </p> <p> If you are IRC-savvy, that's usually the fastest way to get help. Go to <tt>#mercurial</tt> on <tt>irc.freenode.net</tt>. </p> <h1>Author and copyright information</h1> <p> Mercurial was written by <a href="http://www.selenic.com">Matt Mackall</a>, and is maintained by Matt and a team of volunteers. </p> <p> The Windows installer was written by <a href="http://www.serpentine.com/blog">Bryan O'Sullivan</a>. </p> <p> Mercurial is Copyright 2005-2017 Matt Mackall and others. See the <tt>Contributors.txt</tt> file for a list of contributors. </p> <p> Mercurial is free software; you can redistribute it and/or modify it under the terms of the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt">GNU General Public License version 2</a> or any later version. </p> <p> Mercurial is distributed in the hope that it will be useful, but <b>without any warranty</b>; without even the implied warranty of <b>merchantability</b> or <b>fitness for a particular purpose</b>. See the GNU General Public License for more details. </p> </body> </html>