D3963: merge: mark file gets as CPU heavy

Yuya Nishihara yuya at tcha.org
Wed Jul 18 08:06:41 EDT 2018


> +    cpuheavy = repo.ui.configbool('experimental', 'worker.wdir-get-cpu-heavy')
>      prog = worker.worker(repo.ui, cost, batchget, (repo, mctx, wctx),
> -                         actions[ACTION_GET])
> +                         actions[ACTION_GET],
> +                         cpuheavy=cpuheavy)

My two cents. It's better to add a flag to enable threading (e.g. `threadsafe`)
instead of `cpuheavy`, and make it off by default.

This is somewhat related to the issue5933. In short, merge functions aren't
thread safe if keywords extension is involved. I suspect the "fix" extension
would be also unsafe since it calls `repo[rev]`.

https://bz.mercurial-scm.org/show_bug.cgi?id=5933


More information about the Mercurial-devel mailing list