ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Coro/Makefile.PL
(Generate patch)

Comparing Coro/Coro/Makefile.PL (file contents):
Revision 1.7 by root, Wed Jul 25 21:12:57 2001 UTC vs.
Revision 1.10 by root, Sun Jul 29 04:13:29 2001 UTC

12 12
13if ($^O =~ /windows/) { 13if ($^O =~ /windows/) {
14 $DEFINE = " -DCORO_LOOSE"; 14 $DEFINE = " -DCORO_LOOSE";
15} elsif ($^O =~ /linux/) { 15} elsif ($^O =~ /linux/) {
16 $iface = "l"; 16 $iface = "l";
17} elsif ($^O =~ /solaris/) {
18 $iface = "s";
17} elsif (-e "/usr/include/ucontext.h") { 19} elsif (-e "/usr/include/ucontext.h") {
18 $iface = "u"; 20 $iface = "u";
19} else { 21} else {
20 $iface = "s"; 22 $iface = "s";
21} 23}
23print <<EOF; 25print <<EOF;
24 26
25Version 0.12 introduced experimental C context sharing. This makes it 27Version 0.12 introduced experimental C context sharing. This makes it
26possible to share the C stack and context between many coroutines, 28possible to share the C stack and context between many coroutines,
27resulting in memory savings and slight speed gains, at the cost of 29resulting in memory savings and slight speed gains, at the cost of
28potential segfaults. On my Linux/x86 machine this decreased the size of 30potential segfaults (especially with exception handling). On my Linux/x86
29a new coroutine from 9k to 5k, the savings are much more apparent on 31machine this decreased the size of a new coroutine from 9k to 5k, the
30machines without mmap or good memory management. This algorithm relies 32savings are much more apparent on machines without mmap or good memory
31on the non-fact that the same machine stack pointer indicates the same 33management. This algorithm relies on the non-fact that the same machine
32function call nesting level, which usually works good enough but might 34stack pointer indicates the same function call nesting level, which
33fail... 35usually works good enough but might fail...
34 36
35Disabling this option is save, as it only increases memory consumption. 37The default (disabled) is safe, as it only increases memory consumption.
36 38
37EOF 39EOF
38 40
39print "Do you want to enable experimental context sharing (y/n) [n]? "; 41print "Do you want to enable experimental context sharing (y/n) [n]? ";
40 42

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines