Mercurial > hg
comparison contrib/chg/chg.c @ 47024:8fcc0a829f3d
chg: pass --no-profile to disable profiling when starting hg serve
If profiling is enabled via global/user config (as far as I can tell, this
doesn't affect use of the --profile flag, but it probably does affect --config
profiling.enabled=1), then the profiling data can be *cumulative* for the
lifetime of the chg process.
This leads to some "interesting" results where hg claims the walltime is
something like 200s on a command that took only a second or two to run. Worse,
however, is that with at least some profilers (such as the default "stat"
profiler), this can cause a large slowdown while generating the profiler output.
Differential Revision: https://phab.mercurial-scm.org/D10470
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Fri, 16 Apr 2021 16:21:26 -0700 |
parents | 0c320e6032f1 |
children | cf4d2f31660d |
comparison
equal
deleted
inserted
replaced
47023:a2bf93ab3014 | 47024:8fcc0a829f3d |
---|---|
238 static void execcmdserver(const struct cmdserveropts *opts) | 238 static void execcmdserver(const struct cmdserveropts *opts) |
239 { | 239 { |
240 const char *hgcmd = gethgcmd(); | 240 const char *hgcmd = gethgcmd(); |
241 | 241 |
242 const char *baseargv[] = { | 242 const char *baseargv[] = { |
243 hgcmd, | 243 hgcmd, "serve", "--no-profile", "--cmdserver", |
244 "serve", | 244 "chgunix", "--address", opts->initsockname, "--daemon-postexec", |
245 "--cmdserver", | |
246 "chgunix", | |
247 "--address", | |
248 opts->initsockname, | |
249 "--daemon-postexec", | |
250 "chdir:/", | 245 "chdir:/", |
251 }; | 246 }; |
252 size_t baseargvsize = sizeof(baseargv) / sizeof(baseargv[0]); | 247 size_t baseargvsize = sizeof(baseargv) / sizeof(baseargv[0]); |
253 size_t argsize = baseargvsize + opts->argsize + 1; | 248 size_t argsize = baseargvsize + opts->argsize + 1; |
254 | 249 |