Fri, 27 May 2022 14:33:32 +0400 tests: add hg10 requirement to test-check-module-imports.t
Anton Shestakov <av6@dwimlabs.net> [Fri, 27 May 2022 14:33:32 +0400] rev 49235
tests: add hg10 requirement to test-check-module-imports.t This requirement exists to make sure for hg has locate command, which is used in this test file for getting a list of files to check. Since in theory current versions of tests could be run on older hg, it doesn't hurt to mark even this version requirement (as old as it is). See also: a29f071751df.
Sun, 29 May 2022 14:44:19 +0200 tests: work around non-thread-safeness of sysconfig.get_config_var() stable
Manuel Jacob <me@manueljacob.de> [Sun, 29 May 2022 14:44:19 +0200] rev 49234
tests: work around non-thread-safeness of sysconfig.get_config_var()
Sun, 22 May 2022 00:10:58 +0200 worker: implement _blockingreader.readinto() (issue6444)
Manuel Jacob <me@manueljacob.de> [Sun, 22 May 2022 00:10:58 +0200] rev 49233
worker: implement _blockingreader.readinto() (issue6444) The core logic for readinto() was already implemented in read(), so this is mostly extracting that code into its own method. Another fix for issue6444 was committed to the stable branch: 2fe4efaa59af. That is a minimal fix that implements readinto() only on Python versions that require readinto() (3.8.0 and 3.8.1), which is the right approach for the stable branch. However, I think that this changeset has its value. It improves performance in cases when pickle can use readinto(), it reduces code duplication compared to the other patch, and by defining readinto() on all Python versions, it makes behavior more consistent across all Python versions. This changesets reverts the other change.
Sat, 21 May 2022 23:31:30 +0200 worker: stop relying on garbage collection to release memoryview
Manuel Jacob <me@manueljacob.de> [Sat, 21 May 2022 23:31:30 +0200] rev 49232
worker: stop relying on garbage collection to release memoryview On CPython, before resizing the bytearray, all memoryviews referencing it must be released. Before this change, we ensured that all references to them were deleted. On CPython, this was enough to set the reference count to zero, which results in garbage collecting and releasing them. On PyPy, releasing the memoryviews is not necessary because they are implemented differently. If it would be necessary however, ensuring that all references are deleted would not be suffient because PyPy doesn’t use reference counting. By using with statements that take care of releasing the memoryviews, we ensure that the bytearray is resizable without relying on implementation details. So while this doesn’t fix any observable bug, it increases compatiblity with other and future Python implementations.
Sat, 21 May 2022 22:24:02 +0200 worker: add docstring to _blockingreader
Manuel Jacob <me@manueljacob.de> [Sat, 21 May 2022 22:24:02 +0200] rev 49231
worker: add docstring to _blockingreader
Sat, 21 May 2022 22:22:19 +0200 worker: explain why pickle reading stream has to be unbuffered
Manuel Jacob <me@manueljacob.de> [Sat, 21 May 2022 22:22:19 +0200] rev 49230
worker: explain why pickle reading stream has to be unbuffered
Tue, 17 May 2022 13:53:14 +0100 bundle: quick fix to ludicrous performance penalty
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 May 2022 13:53:14 +0100] rev 49229
bundle: quick fix to ludicrous performance penalty We tried a `hg bundle --base ':(tip^)' --rev 'all()'` on a large repository and it spent 3 minutes on this 2 list comprehensions. This change remove this cost. There are still a lot of low hanging fruits as the command still take 30 seconds. However this is a trivial patch with a massive speedup so I'll just sent it.
Fri, 20 May 2022 14:27:46 +0200 deltas: add a debug-delta-find command to analyse delta search
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 May 2022 14:27:46 +0200] rev 49228
deltas: add a debug-delta-find command to analyse delta search See command documentation for details. For some reason, pytype is confused by our usage of None/deltainfo variable, so I had to quiet it.
Thu, 19 May 2022 23:39:42 +0100 deltas: add a `debug.revlog.debug-delta` config option enable output
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 May 2022 23:39:42 +0100] rev 49227
deltas: add a `debug.revlog.debug-delta` config option enable output This provide a way to enable the code introduced in the previous changeset. This will provide a large amount of output when applying a bundle with details about each delta "computation".
Thu, 19 May 2022 23:39:23 +0100 deltas: add code to display information about the result of `finddeltainfo`
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 19 May 2022 23:39:23 +0100] rev 49226
deltas: add code to display information about the result of `finddeltainfo` I have been looking into performance issue around pull and getting more information about the computation and time involved into applying each revision is very useful. There will be various way to use this new output, so I am introducing the code first.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 tip