##// END OF EJS Templates
clone: properly exclude rev-branch-cache from post clone cache warming...
clone: properly exclude rev-branch-cache from post clone cache warming When adding "CACHE_REV_BRANCH" to "CACHES_ALL" in e51161b12c7e, I did not expected it to impact the clone steps. However the "CACHES_POST_CLONE" set is created rather creatively. (we should fix that, but not on stable) The benchmark caught a quite significant slowdown one hardlink and ssh-stream clones. Such slow down can be reduced to around ~5% by fully warming the cache before the clone. However keeping this expensive step away from the clone operation fully fix the slowdown and preserve the initial intend. Example slowdow for hardlink clone ### benchmark.name = hg.command.clone # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.explicit-rev = none # benchmark.variants.issue6528 = default # benchmark.variants.protocol = local-hardlink # benchmark.variants.pulled-delta-reuse-policy = default # benchmark.variants.resource-usage = default # benchmark.variants.validate = default ## data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog 6.8.2: 19.799752 6.9rc0: 29.017493 (+46.55%, +9.22) after: 19.929341 ## data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog 6.8.2: 0.468020 6.9rc0: 1.701294 (+263.51%, +1.23) after: 0.471934 ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog 6.8.2: 2.397564 6.9rc0: 5.666641 (+137.41%, +3.28) after: 2.428085

File last commit:

r36781:90f8fe72 default
r53138:d57d1606 stable
Show More
xdiffi.h
58 lines | 1.6 KiB | text/x-c | CLexer
Jun Wu
xdiff: vendor xdiff library from git...
r36689 /*
* LibXDiff by Davide Libenzi ( File Differential Library )
* Copyright (C) 2003 Davide Libenzi
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see
* <http://www.gnu.org/licenses/>.
*
* Davide Libenzi <davidel@xmailserver.org>
*
*/
#if !defined(XDIFFI_H)
#define XDIFFI_H
typedef struct s_diffdata {
Jun Wu
xdiff: replace {unsigned ,}long with {u,}int64_t...
r36840 int64_t nrec;
uint64_t const *ha;
int64_t *rindex;
Jun Wu
xdiff: vendor xdiff library from git...
r36689 char *rchg;
} diffdata_t;
typedef struct s_xdalgoenv {
Jun Wu
xdiff: replace {unsigned ,}long with {u,}int64_t...
r36840 int64_t mxcost;
int64_t snake_cnt;
int64_t heur_min;
Jun Wu
xdiff: vendor xdiff library from git...
r36689 } xdalgoenv_t;
typedef struct s_xdchange {
struct s_xdchange *next;
Jun Wu
xdiff: replace {unsigned ,}long with {u,}int64_t...
r36840 int64_t i1, i2;
int64_t chg1, chg2;
Jun Wu
xdiff: vendor xdiff library from git...
r36689 int ignore;
} xdchange_t;
Jun Wu
xdiff: replace {unsigned ,}long with {u,}int64_t...
r36840 int xdl_recs_cmp(diffdata_t *dd1, int64_t off1, int64_t lim1,
diffdata_t *dd2, int64_t off2, int64_t lim2,
int64_t *kvdf, int64_t *kvdb, int need_min, xdalgoenv_t *xenv);
Jun Wu
xdiff: vendor xdiff library from git...
r36689 int xdl_do_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
xdfenv_t *xe);
Jun Wu
xdiff: replace {unsigned ,}long with {u,}int64_t...
r36840 int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, int64_t flags);
Jun Wu
xdiff: vendor xdiff library from git...
r36689 int xdl_build_script(xdfenv_t *xe, xdchange_t **xscr);
void xdl_free_script(xdchange_t *xscr);
#endif /* #if !defined(XDIFFI_H) */