Mercurial > public > mercurial-scm > hg-stable
annotate relnotes/next @ 45016:c2df0bca0dfa
perf: make `hg perfwrite` more flexible
The more flexible command was used recently while finding a solution for a
buffering bug (eventually fixed in f9734b2d59cc (the changeset description uses
a different benchmark)).
In comparison to the previous version, the new version is much more flexible.
While using it, the focus was on testing small writes. For this reason, by
default it calls ui.write() 100 times with a single byte plus one newline byte,
for 100 lines.
To get the previous behavior, run `hg perfwrite --nlines=100000 --nitems=1
--item='Testing write performance' --batch-line`.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Fri, 05 Jun 2020 01:54:13 +0200 |
parents | f330d6117a5b |
children | 72feaeb510b3 |
rev | line source |
---|---|
42298
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 == New Features == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
44427
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44423
diff
changeset
|
3 |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44399
diff
changeset
|
4 == New Experimental Features == |
44377
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
44335
diff
changeset
|
5 |
44964
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44952
diff
changeset
|
6 * The core of some hg operations have been (and are being) |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44952
diff
changeset
|
7 implemented in rust, for speed. `hg status` on a repository with |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44952
diff
changeset
|
8 300k tracked files goes from 1.8s to 0.6s for instance. |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44952
diff
changeset
|
9 This has currently been tested only on linux, and does not build on |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44952
diff
changeset
|
10 windows. See rust/README.rst in the mercurial repository for |
f330d6117a5b
relnotes: advertize the possibility to use rust
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44952
diff
changeset
|
11 instructions to opt into this. |
44439
edc8504bc26b
exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44429
diff
changeset
|
12 |
42298
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 == Backwards Compatibility Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 |
44946
61cdc8137d53
relnotes: note that we now require modern SSL/TLS features in Python
Manuel Jacob <me@manueljacob.de>
parents:
44915
diff
changeset
|
15 * Mercurial now requires at least Python 2.7.9 or a Python version that |
44952
95c832849955
setup: require that Python has TLS 1.1 or TLS 1.2
Manuel Jacob <me@manueljacob.de>
parents:
44946
diff
changeset
|
16 backported modern SSL/TLS features (as defined in PEP 466), and that Python |
95c832849955
setup: require that Python has TLS 1.1 or TLS 1.2
Manuel Jacob <me@manueljacob.de>
parents:
44946
diff
changeset
|
17 was compiled against a OpenSSL version supporting TLS 1.1 or TLS 1.2 |
95c832849955
setup: require that Python has TLS 1.1 or TLS 1.2
Manuel Jacob <me@manueljacob.de>
parents:
44946
diff
changeset
|
18 (likely this requires the OpenSSL version to be at least 1.0.1). |
44946
61cdc8137d53
relnotes: note that we now require modern SSL/TLS features in Python
Manuel Jacob <me@manueljacob.de>
parents:
44915
diff
changeset
|
19 |
45016
c2df0bca0dfa
perf: make `hg perfwrite` more flexible
Manuel Jacob <me@manueljacob.de>
parents:
44964
diff
changeset
|
20 * The `hg perfwrite` command from contrib/perf.py was made more flexible and |
c2df0bca0dfa
perf: make `hg perfwrite` more flexible
Manuel Jacob <me@manueljacob.de>
parents:
44964
diff
changeset
|
21 changed its default behavior. To get the previous behavior, run `hg perfwrite |
c2df0bca0dfa
perf: make `hg perfwrite` more flexible
Manuel Jacob <me@manueljacob.de>
parents:
44964
diff
changeset
|
22 --nlines=100000 --nitems=1 --item='Testing write performance' --batch-line`. |
c2df0bca0dfa
perf: make `hg perfwrite` more flexible
Manuel Jacob <me@manueljacob.de>
parents:
44964
diff
changeset
|
23 |
44427
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44423
diff
changeset
|
24 |
42298
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 == Internal API Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 |
44912
ba5688e3b3bd
relnotes: add API change note per request in D8502
Augie Fackler <augie@google.com>
parents:
44781
diff
changeset
|
27 * logcmdutil.diffordiffstat() now takes contexts instead of nodes. |
ba5688e3b3bd
relnotes: add API change note per request in D8502
Augie Fackler <augie@google.com>
parents:
44781
diff
changeset
|
28 |
44915
b7808443ed6a
mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents:
44912
diff
changeset
|
29 * The `mergestate` class along with some related methods and constants have |
b7808443ed6a
mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents:
44912
diff
changeset
|
30 moved from `mercurial.merge` to a new `mercurial.mergestate` module. |
b7808443ed6a
mergestate: split out merge state handling code from main merge module
Augie Fackler <augie@google.com>
parents:
44912
diff
changeset
|
31 |