1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
|
____ _ _
| _ \| |_| |__
| |_) | __| '_ \ ``It doesn't need to be
| __/| |_| | | | tested, because it works.''
|_| \__|_| |_| -- Richard Holloway
GNU Pth - The GNU Portable Threads
TESTS
=====
GNU Pth was successfully tested with the following real-world
applications (which are not just trivial sample applications unlike
the shipped test_xxx programs):
o Apache (webserver)
o MySQL (relational database system)
o OpenLDAP (LDAP toolkit)
o pidentd (IDENT daemon)
o Perl (scripting language)
o Python (scripting language)
o gFTP (FTP client)
o NakenChat (chat server)
Details of the tests follow:
Package: Apache
Version: 2.0-dev
URL: http://www.apache.org/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 30-Aug-1999
Config: CFLAGS="`pthread-config --cflags` \
-DPTHREAD_EVERYWHERE \
-DNO_SERIALIZED_ACCEPT"
LDFLAGS="`pthread-config --ldflags`"
LIBS="`pthread-config --libs`"
--set-rule=MPM_METHOD:dexter
Comment: Apache 2.0-dev is a developer version, `dexter'
is a MPM (multi process model) module based on Pthreads.
The server served around 1000 requests per second.
Package: MySQL
Version: 3.22.25
URL: http://www.mysql.com/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 30-Aug-1999
Config: CC=egcc CXX=eg++ \
CFLAGS="`pthread-config --cflags`" \
CXXFLAGS="`pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags`" \
./configure \
--prefix=/tmp/mysql \
--without-mit-pthreads \
--with-pthread \
--with-named-thread-libs="`pthread-config --libs`"
Comment: MySQL seems to work fine with Pth. I was able to run
the tests from the INSTALL/README documents, i.e. a create
table, a few inserts and a select and the server served them
fine.
Package: OpenLDAP
Version: 2.0-dev
URL: http://www.openldap.org/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 01-Sep-1999
Config: CPPFLAGS="`pth-config --cflags`" \
LDFLAGS="`pth-config --ldflags`" \
./configure --prefix=/tmp/openldap \
--with-threads=pth
Comments: Still not tested under runtime, just compiled the beast.
Interesting is that OpenLDAP has native Pth support.
Package: pidentd
Version: 3.1a14
URL: ftp://ftp.lysator.liu.se/pub/unix/ident/servers/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 30-Aug-1999
Config: CFLAGS="`pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags`" \
LIBS="`pthread-config --libs`" \
./configure \
--prefix=/tmp/pindent \
--with-threads
Comment: I had to change ``CC="$CC -pthread"'' in `configure' with
``: CC="$CC -pthread"'' in order to avoid the use uthreads under
FreeBSD.
Package: Perl
Version: 5.005_03
URL: http://www.perl.com/
Pth: 1.2b1 [--enable-pthread --disable-shared
--enable-syscall-soft --enable-syscall-hard]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 02-Sep-1999
Config: ./Configure \
-Dusethreads -des \
-Dccflags="`pthread-config --cflags`" \
-Dlibs="`pthread-config --ldflags --libs` -lm" \
-Dprefix=/tmp/perl
Comment: I've tried all tests ext/Thread/*.t. All worked fine,
except for the io.t. Even with Pth's --enable-syscall-hard
Perl seems to use direct I/O for the <STDIN> facility. So
the Pth support for Perl is still not 100%. But perhaps
one can make it complete by using PerlIO abstraction layer
(either directly to use pth_read/write or via Sfio and
pth_sfdisc)? Additionally I had to deactivate the -pthread
in hints/freebsd to get rid of uthread under FreeBSD.
Package: Python
Version: 1.5.2
URL: http://www.python.org/
Pth: 1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 01-Sep-1999
Config: CC="cc `pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags`" \
LIBS="`pthread-config --ldflags --libs`" \
./configure \
--prefix=/tmp/python \
--with-thread
Comment: The configure stuff of Python was a little bit strange
(using CFLAGS or CPPFLAGS didn't work), but except for this
Python worked fine. It even passed its "make test" and there
also the test_thread. Seems to work fine with Pth.
Package: gFTP
Version: 2.0.5a
URL: http://gftp.seul.org/
Pth: 1.2b6 [--enable-pthread --disable-shared --enable-syscall-soft]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 04-Oct-1999
Config: CC="cc `pthread-config --cflags`" \
LDFLAGS="`pthread-config --ldflags` `pthread-config --ldflags --libs`" \
./configure \
--prefix=/tmp/gftp
Comment: none
Package: NakenChat
Version: 1.10
URL: http://home.i1.net/~naken/nakenchat/
Pth: 1.2b7 [--enable-pthread]
Platform: i686-pc-freebsd3.1
Tester: Ralf S. Engelschall <rse@engelschall.com>
Date: 19-Oct-1999
Config: cc `pthread-config --cflags` \
-onakenchat nakenchat.c \
`pthread-config --ldflags --libs`
Comment: none
|