On 07/13/10 10:55, Peter Tribble wrote:
On Mon, Jul 12, 2010 at 10:26 PM, Bart Smaalders
<bart.smaald...@oracle.com> wrote:
Instead, consider reducing the number of libraries needed instead; by
folding more libraries into libc, we can avoid all the overhead
associated with setting up extra text and data segments for each library.
This would speed up both process creation and destruction.
Do you have a guess as to how much of an improvement you could
get this way? Process creation is one of the things that just feels
slow compared to alternative platforms. (Or rewrite everything in
ksh93 and use builtins, I suppose.)
Well, one simple way to find out would be to modify the
fork & exit benchmarks in libmicro to create any number of desired
additional address space segments, and to compare the performance
of fork and exit w/ varying numbers of segments. While this would not
include CPU time spent in the dynamic linker, that's usually small.
You'd likely end up w/ a function of the form:
total time = base time + A*number-of-segments +
B*number-of-readonly-pages + C*number-of-readwrite pages
- Bart
--
Bart Smaalders Solaris Kernel Performance
bart.smaald...@oracle.com http://blogs.sun.com/barts
"You will contribute more with mercurial than with thunderbird."
_______________________________________________
on-discuss mailing list
on-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/on-discuss