Jilles Tjoelker caf29fab8c sh: Use vfork in a few common cases.
This uses vfork() for simple commands and command substitutions containing a
single simple command, invoking an external program under certain conditions
(no redirections or variable assignments, non-interactive shell, no job
control). These restrictions limit the amount of code executed in a vforked
child.

There is a large speedup (for example 35%) in microbenchmarks. The
difference in buildkernel is smaller (for example 0.5%) but still
statistically significant. See
http://lists.freebsd.org/pipermail/freebsd-hackers/2012-January/037581.html
for some numbers.

The use of vfork() can be disabled by setting a variable named
SH_DISABLE_VFORK.
2012-02-04 23:12:14 +00:00
..
2011-05-27 20:53:07 +00:00
2012-02-04 23:12:14 +00:00
2012-01-01 22:17:12 +00:00
2012-01-01 22:17:12 +00:00
2012-01-01 22:17:12 +00:00
2012-01-01 22:17:12 +00:00
2012-02-04 23:12:14 +00:00
2012-02-04 23:12:14 +00:00
2012-01-01 22:17:12 +00:00
2012-01-01 22:17:12 +00:00
2011-06-24 07:29:04 +00:00
2011-11-20 21:48:50 +00:00
2011-06-18 23:43:28 +00:00
2009-12-24 18:41:14 +00:00
2011-05-27 16:00:37 +00:00
2012-02-04 23:12:14 +00:00
2012-02-04 23:12:14 +00:00