Re: PostgreSQL

Michael Richardson <[email protected]>
Newsgroups gmane.os.netbsd.devel.general,gmane.os.netbsd.devel.performance,gmane.os.netbsd.current,gmane.os.netbsd.devel.network
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


I think it comes down to:    THREADING IS HARD

WAY too many people try to write threaded code and fail.

As a example, look at gnokii. It used to run fine on NetBSD, then it
grew threading, and stopped working. 

Why? So that morons could write:
     while(1) {
	      if(dtr is true) break;
     }

(I haven't tried to run it on NetBSD in three years. I suspect it has
gotten better) 

Writing good multithreaded user-space code is really *HARDER* than
writing kernel code.  If you think about this, you realize why
"professional" application code is often so crappy, huge, bloated,
buggy. 

Leaning to write co-routines and select/poll interfaces is takes a bit
more brain power at first than writing the above busy-loop, but is SO
MUCH easier to debug that the effort pays off.

I think that the postgresql people know this.

- -- 
]       ON HUMILITY: to err is human. To moo, bovine.           |  firewalls  [
]   Michael Richardson,    Xelerance Corporation, Ottawa, ON    |net architect[
] [email protected]      http://www.sandelman.ottawa.on.ca/mcr/ |device driver[
] panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Finger me for keys

iQEVAwUBQ+N2iYCLcPvd0N1lAQJ7dggApYOmg4IRAGqxMOvDyXWewLHuMKa7zI9E
jenKtzLPRM7Ioky2jaVYJbULtEwXJb+ctDjpYpx82VuYCucsZ1K6YTEvWEgiqPxe
JygdNaZ9gctnJZg8ul8VSuvpi4xvc69wBHNJ/lOVq/xzsvW2HRLEcnsfQX1Kuz0w
OZGGzZy8pHg3tetaYRG07GtE+joUnQD4fpqiTrtrskTlZlCj7OtqiLQcKvmmi/DK
bceNTzNHoQPA7x+72SrTx8FVFVaQxOSbQIbj9e+2tD1jlnPEZGBNfita6uMadagZ
zTqttLsUWErDckyX6iShFY4/PdY4RsoIaAY3IAXB5yuQ1/D52aXGNw==
=j3gP
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.