Page MenuHomePhabricator

marmoute (Pierre-Yves David)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 29 2017, 2:56 PM (120 w, 2 d)

Recent Activity

Yesterday

marmoute committed rHGf0a2c1972e81: copies: simplify chain loop.
copies: simplify chain loop
Sat, Oct 19, 1:43 PM
marmoute closed D7131: copies: simplify chain loop.
Sat, Oct 19, 1:38 PM
marmoute closed D7127: sidedatacopies: only fetch information once for merge.
Sat, Oct 19, 1:38 PM
marmoute committed rHG90213d027154: sidedatacopies: only fetch information once for merge.
sidedatacopies: only fetch information once for merge
Sat, Oct 19, 1:38 PM
marmoute closed D7124: copies: move from a copy on branchpoint to a copy on write approach.
Sat, Oct 19, 1:38 PM
marmoute closed D7076: copies: compute the exact set of revision to walk.
Sat, Oct 19, 1:38 PM
marmoute closed D7075: copies: add an explicit test using multiple roots.
Sat, Oct 19, 1:38 PM
marmoute committed rHGffd04bc9f57d: copies: move from a copy on branchpoint to a copy on write approach.
copies: move from a copy on branchpoint to a copy on write approach
Sat, Oct 19, 1:38 PM
marmoute committed rHG83bb1e89ab9b: copies: compute the exact set of revision to walk.
copies: compute the exact set of revision to walk
Sat, Oct 19, 1:38 PM
marmoute committed rHGdda9482f60d2: copies: add an explicit test using multiple roots.
copies: add an explicit test using multiple roots
Sat, Oct 19, 1:38 PM
marmoute closed D7074: sidedatacopies: fast path data fetching if revision has no sidedata.
Sat, Oct 19, 1:38 PM
marmoute committed rHG8a2925265402: sidedatacopies: fast path data fetching if revision has no sidedata.
sidedatacopies: fast path data fetching if revision has no sidedata
Sat, Oct 19, 1:38 PM

Thu, Oct 17

marmoute created D7131: copies: simplify chain loop.
Thu, Oct 17, 7:47 PM
marmoute updated the diff for D7127: sidedatacopies: only fetch information once for merge.
Thu, Oct 17, 7:47 PM
marmoute updated the diff for D7124: copies: move from a copy on branchpoint to a copy on write approach.
Thu, Oct 17, 7:47 PM
marmoute updated the diff for D7076: copies: compute the exact set of revision to walk.
Thu, Oct 17, 7:46 PM
marmoute added inline comments to D7075: copies: add an explicit test using multiple roots.
Thu, Oct 17, 7:30 PM
marmoute created D7127: sidedatacopies: only fetch information once for merge.
Thu, Oct 17, 7:30 PM
marmoute abandoned D7071: copies: use unchecked parentrevs function to access parent.
Thu, Oct 17, 7:30 PM
marmoute abandoned D7073: revlog: introduce a `_uncheckedflags` shortcut.
Thu, Oct 17, 7:30 PM
marmoute added a comment to D7073: revlog: introduce a `_uncheckedflags` shortcut.

Should no longer be necessary with D7123, right?

Thu, Oct 17, 7:30 PM

Wed, Oct 16

marmoute committed rHG675c776fbcd1: sidedatacopies: directly fetch copies information from sidedata.
sidedatacopies: directly fetch copies information from sidedata
Wed, Oct 16, 10:37 PM
marmoute committed rHG00de32aa834e: copies: use an unfiltered repository for the changeset centric algorithm.
copies: use an unfiltered repository for the changeset centric algorithm
Wed, Oct 16, 10:37 PM
marmoute committed rHGb8d60845fa5d: copies: extract data extraction into a `revinfo` function.
copies: extract data extraction into a `revinfo` function
Wed, Oct 16, 10:37 PM
marmoute committed rHG82dabad535d2: copies: get copies information directly from _copies.
copies: get copies information directly from _copies
Wed, Oct 16, 10:37 PM
marmoute committed rHG181d28ba05da: copies: avoid instancing more changectx to access parent revisions.
copies: avoid instancing more changectx to access parent revisions
Wed, Oct 16, 10:37 PM
marmoute committed rHG32187ae9eeb3: copies: simplify the handling of merges.
copies: simplify the handling of merges
Wed, Oct 16, 10:37 PM
marmoute created D7124: copies: move from a copy on branchpoint to a copy on write approach.
Wed, Oct 16, 7:48 PM
marmoute updated the diff for D7076: copies: compute the exact set of revision to walk.
Wed, Oct 16, 7:12 PM
marmoute updated the summary of D7076: copies: compute the exact set of revision to walk.
Wed, Oct 16, 6:56 PM
marmoute updated the diff for D7075: copies: add an explicit test using multiple roots.
Wed, Oct 16, 6:56 PM
marmoute updated the summary of D7074: sidedatacopies: fast path data fetching if revision has no sidedata.
Wed, Oct 16, 6:56 PM
marmoute added a comment to D7121: copies: get copies information directly from _copies.

[…]

So there seems to be a measurable difference. Could just the function call overhead be that whole difference? Anyway, it doesn't seem worth spending time trying to figure out.

Function call can have a large overhead, how many revision are we talking about here ?

5627

That is not much to be honest. How do you measure this?

By running exactly the command I shared earlier :P This is a version of mozilla-unified I've created by running hg convert --config experimental.copies.write-to=changeset-only.

I meant the number of changeset :-)

Wed, Oct 16, 6:41 PM
marmoute added a comment to D7121: copies: get copies information directly from _copies.

[…]

So there seems to be a measurable difference. Could just the function call overhead be that whole difference? Anyway, it doesn't seem worth spending time trying to figure out.

Function call can have a large overhead, how many revision are we talking about here ?

5627

That is not much to be honest. How do you measure this?

By running exactly the command I shared earlier :P This is a version of mozilla-unified I've created by running hg convert --config experimental.copies.write-to=changeset-only.

Wed, Oct 16, 6:39 PM
marmoute added a comment to D7121: copies: get copies information directly from _copies.

[…]

So there seems to be a measurable difference. Could just the function call overhead be that whole difference? Anyway, it doesn't seem worth spending time trying to figure out.

Function call can have a large overhead, how many revision are we talking about here ?

5627

Wed, Oct 16, 6:26 PM
marmoute added a comment to D7121: copies: get copies information directly from _copies.

Performance measurement does not show any significant performance movement. This
is not surprising since p1copies() code is self._copies[0].

My testing agrees with that. However, making the same change (well, the reverse of it) on top of D7070 makes very significant difference. I have no idea why.

Actually, I may have spoken too soon. hg perfpathcopies FIREFOX_BETA_59_END FIREFOX_BETA_60_BASE --config perf.run-limits='10.0-10' yields:

before:
! wall 4.595685 comb 4.600000 user 4.530000 sys 0.070000 (best of 10)
after:
! wall 4.485065 comb 4.490000 user 4.440000 sys 0.050000 (best of 10)

So there seems to be a measurable difference. Could just the function call overhead be that whole difference? Anyway, it doesn't seem worth spending time trying to figure out.

Wed, Oct 16, 5:57 PM
marmoute updated the diff for D7072: sidedatacopies: directly fetch copies information from sidedata.
Wed, Oct 16, 5:50 PM
marmoute updated the diff for D7123: copies: use an unfiltered repository for the changeset centric algorithm.
Wed, Oct 16, 5:50 PM
marmoute updated the diff for D7070: copies: extract data extraction into a `revinfo` function.
Wed, Oct 16, 5:50 PM
marmoute updated the diff for D7122: copies: avoid instancing more changectx to access parent revisions.
Wed, Oct 16, 5:49 PM
marmoute updated the diff for D7121: copies: get copies information directly from _copies.
Wed, Oct 16, 5:49 PM
marmoute closed D7072: sidedatacopies: directly fetch copies information from sidedata.
Wed, Oct 16, 1:34 PM
marmoute closed D7123: copies: use an unfiltered repository for the changeset centric algorithm.
Wed, Oct 16, 1:34 PM
marmoute closed D7070: copies: extract data extraction into a `revinfo` function.
Wed, Oct 16, 1:34 PM
marmoute committed rHGbd62a9569f21: sidedatacopies: directly fetch copies information from sidedata.
sidedatacopies: directly fetch copies information from sidedata
Wed, Oct 16, 1:34 PM
marmoute committed rHG3d0b9f7563ea: copies: use an unfiltered repository for the changeset centric algorithm.
copies: use an unfiltered repository for the changeset centric algorithm
Wed, Oct 16, 1:34 PM
marmoute closed D7122: copies: avoid instancing more changectx to access parent revisions.
Wed, Oct 16, 1:34 PM
marmoute committed rHG8cdebdb3133e: copies: extract data extraction into a `revinfo` function.
copies: extract data extraction into a `revinfo` function
Wed, Oct 16, 1:34 PM
marmoute committed rHG6b43c7be2d15: copies: avoid instancing more changectx to access parent revisions.
copies: avoid instancing more changectx to access parent revisions
Wed, Oct 16, 1:33 PM
marmoute closed D7121: copies: get copies information directly from _copies.
Wed, Oct 16, 1:33 PM
marmoute committed rHG32943e8c8d68: copies: get copies information directly from _copies.
copies: get copies information directly from _copies
Wed, Oct 16, 1:33 PM
marmoute updated the diff for D7072: sidedatacopies: directly fetch copies information from sidedata.
Wed, Oct 16, 1:02 PM
marmoute updated the diff for D7123: copies: use an unfiltered repository for the changeset centric algorithm.
Wed, Oct 16, 1:02 PM
marmoute updated the diff for D7070: copies: extract data extraction into a `revinfo` function.
Wed, Oct 16, 1:02 PM
marmoute created D7123: copies: use an unfiltered repository for the changeset centric algorithm.
Wed, Oct 16, 12:54 PM
marmoute updated the diff for D7070: copies: extract data extraction into a `revinfo` function.
Wed, Oct 16, 12:54 PM
marmoute created D7122: copies: avoid instancing more changectx to access parent revisions.
Wed, Oct 16, 12:54 PM
marmoute created D7121: copies: get copies information directly from _copies.
Wed, Oct 16, 12:54 PM
marmoute added a comment to D7070: copies: extract data extraction into a `revinfo` function.

I splitted the usage of changelog.parent out of the extraction of revinfo to measure things further. That step give a small perf boost.
Adding a function call comes with a tiny performance cost:

Wed, Oct 16, 12:26 PM
marmoute closed D7069: copies: simplify the handling of merges.
Wed, Oct 16, 12:20 PM
marmoute committed rHG0aef9177a653: copies: simplify the handling of merges.
copies: simplify the handling of merges
Wed, Oct 16, 12:20 PM
marmoute added a comment to D7070: copies: extract data extraction into a `revinfo` function.

The extracted function slows down hg perfpathcopies FIREFOX_BETA_59_END FIREFOX_BETA_60_BASE (not merge-heavy) from 3.55s to 3.87s, but since you also changed ctx.p[12]copies() to ctx._copies it ended up being a net speed improvement (3.24s including for the patch as written).

Which method are you using on this repository ? extra+changeset-only ?

Yes.

Sorry, I should say that that's of course I version of mozilla-unified that I've converted. Let me know if you want a copy of it, but I suspect that you'll see similar numbers in your repos.

Wed, Oct 16, 4:17 AM
marmoute updated the diff for D7069: copies: simplify the handling of merges.
Wed, Oct 16, 3:44 AM

Tue, Oct 15

marmoute closed D7068: sidedatacopies: only store an entry if it has values.
Tue, Oct 15, 6:12 PM
marmoute committed rHG30570a056fa8: sidedatacopies: only store an entry if it has values.
sidedatacopies: only store an entry if it has values
Tue, Oct 15, 6:11 PM
marmoute committed rHGe51f5d06a99c: sidedatacopies: only read from copies when in this mode.
sidedatacopies: only read from copies when in this mode
Tue, Oct 15, 6:11 PM
marmoute closed D7067: sidedatacopies: only read from copies when in this mode.
Tue, Oct 15, 6:11 PM
marmoute added a comment to D7070: copies: extract data extraction into a `revinfo` function.

The extracted function slows down hg perfpathcopies FIREFOX_BETA_59_END FIREFOX_BETA_60_BASE (not merge-heavy) from 3.55s to 3.87s, but since you also changed ctx.p[12]copies() to ctx._copies it ended up being a net speed improvement (3.24s including for the patch as written).

Tue, Oct 15, 3:14 AM

Mon, Oct 14

marmoute committed rHG069cbbb53cdf: copies: drop the findlimit logic.
copies: drop the findlimit logic
Mon, Oct 14, 2:35 AM
marmoute committed rHGc16fe77e340a: pathcopies: give up any optimization based on `introrev`.
pathcopies: give up any optimization based on `introrev`
Mon, Oct 14, 2:35 AM
marmoute committed rHG0c4efb6eb4fa: perf: introduce a `--contains` flag to the `perfdirstate` command.
perf: introduce a `--contains` flag to the `perfdirstate` command
Mon, Oct 14, 2:35 AM
marmoute committed rHG6fb37a5377fd: copies: drop the findlimit logic.
copies: drop the findlimit logic
Mon, Oct 14, 12:39 AM
marmoute committed rHG2cda165c3b2a: patchcopies: give up any optimization based on `introrev`.
patchcopies: give up any optimization based on `introrev`
Mon, Oct 14, 12:39 AM

Sun, Oct 13

marmoute committed rHGfeaea7fe8883: perf: introduce a `--contains` flag to the `perfdirstate` command.
perf: introduce a `--contains` flag to the `perfdirstate` command
Sun, Oct 13, 6:32 AM
marmoute committed rHG5f9b1250b82a: perf: introduce a `--iteration` to `perfdirstate`.
perf: introduce a `--iteration` to `perfdirstate`
Sun, Oct 13, 6:32 AM

Sat, Oct 12

marmoute created D7076: copies: compute the exact set of revision to walk.
Sat, Oct 12, 12:47 PM
marmoute created D7075: copies: add an explicit test using multiple roots.
Sat, Oct 12, 12:47 PM
marmoute created D7073: revlog: introduce a `_uncheckedflags` shortcut.
Sat, Oct 12, 12:47 PM
marmoute created D7074: sidedatacopies: fast path data fetching if revision has no sidedata.
Sat, Oct 12, 12:47 PM
marmoute created D7072: sidedatacopies: directly fetch copies information from sidedata.
Sat, Oct 12, 12:46 PM
marmoute created D7071: copies: use unchecked parentrevs function to access parent.
Sat, Oct 12, 12:46 PM
marmoute created D7070: copies: extract data extraction into a `revinfo` function.
Sat, Oct 12, 12:46 PM
marmoute created D7069: copies: simplify the handling of merges.
Sat, Oct 12, 12:46 PM
marmoute created D7068: sidedatacopies: only store an entry if it has values.
Sat, Oct 12, 12:46 PM
marmoute created D7067: sidedatacopies: only read from copies when in this mode.
Sat, Oct 12, 12:45 PM

Fri, Oct 11

marmoute closed D7040: sidedata: rename the configuration option to `exp-use-side-data`.
Fri, Oct 11, 12:21 AM
marmoute committed rHGbca9d1a6c4c5: sidedata: rename the configuration option to `exp-use-side-data`.
sidedata: rename the configuration option to `exp-use-side-data`
Fri, Oct 11, 12:20 AM

Thu, Oct 10

marmoute abandoned D7035: test: fix a comment in test-side-data.t.
Thu, Oct 10, 11:39 AM
marmoute created D7040: sidedata: rename the configuration option to `exp-use-side-data`.
Thu, Oct 10, 10:49 AM
marmoute committed rHG9d57c2df7b5f: perf: fix `perfhelper-mergecopies` report of #changesets.
perf: fix `perfhelper-mergecopies` report of #changesets
Thu, Oct 10, 10:10 AM
marmoute committed rHG84a950007619: perf: fix `perfhelper-pathcopies` report of #changesets.
perf: fix `perfhelper-pathcopies` report of #changesets
Thu, Oct 10, 10:10 AM

Wed, Oct 9

marmoute closed D6953: sidedatacopies: read rename information from sidedata.
Wed, Oct 9, 7:48 PM
marmoute closed D6954: sidedatacopies: move various copies related function to the copies modules.
Wed, Oct 9, 7:47 PM
marmoute closed D6955: sidedatacopies: deal with upgrading and downgrading to that format.
Wed, Oct 9, 7:47 PM
marmoute committed rHG843da18386d5: sidedatacopies: deal with upgrading and downgrading to that format.
sidedatacopies: deal with upgrading and downgrading to that format
Wed, Oct 9, 7:47 PM
marmoute committed rHG54e943b28101: sidedatacopies: move various copies related function to the copies modules.
sidedatacopies: move various copies related function to the copies modules
Wed, Oct 9, 7:47 PM
marmoute closed D7037: context: make copies related function return None or a valid value.
Wed, Oct 9, 7:46 PM
marmoute committed rHG0171483b082f: sidedatacopies: read rename information from sidedata.
sidedatacopies: read rename information from sidedata
Wed, Oct 9, 7:46 PM
marmoute committed rHG4296cc3c4ae1: changelog: make copies related function return None or a valid value.
changelog: make copies related function return None or a valid value
Wed, Oct 9, 7:46 PM
marmoute closed D7036: test: fix zstd related output in pure tests.
Wed, Oct 9, 7:46 PM