From 659df79e45471025ff4052eaab3cb693fbfc694b Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sun, 3 Nov 2002 04:02:32 +0000 Subject: [PATCH] Update FAQ_DEV. --- doc/FAQ_DEV | 27 +++++++++++++++++++++++---- doc/src/FAQ/FAQ_DEV.html | 31 ++++++++++++++++++++++++++----- 2 files changed, 49 insertions(+), 9 deletions(-) diff --git a/doc/FAQ_DEV b/doc/FAQ_DEV index 948132f539..7ab8308320 100644 --- a/doc/FAQ_DEV +++ b/doc/FAQ_DEV @@ -1,7 +1,7 @@ Developer's Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Tue Aug 13 16:41:02 EDT 2002 + Last updated: Sat Nov 2 23:02:16 EST 2002 Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) @@ -19,7 +19,8 @@ 1.6) What books are good for developers? 1.7) What is configure all about? 1.8) How do I add a new port? - 1.9) Why don't we use threads in the backend? + 1.9) Why don't you use threads/raw devices/async-I/O, &insert your + favorite wizz-bang feature here&? 1.10) How are RPM's packaged? 1.11) How are CVS branches handled? 1.12) Where can I get a copy of the SQL standards? @@ -316,15 +317,33 @@ src/makefiles directory for port-specific Makefile handling. There is a backend/port directory if you need special files for your OS. - 1.9) Why don't we use threads in the backend? + 1.9) Why don't you use threads/raw devices/async-I/O, &insert your favorite + wizz-bang feature here&? - There are several reasons threads are not used: + There is always a temptation to use the newest operating system + features as soon as they arrive. We resist that temptation. + + First, we support 15+ operating systems, so any new feature has to be + well established before we will consider it. Second, most new + wizz-bang features don't provide dramatic improvements. Third, the + usually have some downside, such as decreased reliability or + additional code required. Therefore, we don't rush to use new features + but rather wait for the feature to be established, then ask for + testing to show that a measurable improvement is possible. + + As an example, threads are not currently used in the backend code + because: * Historically, threads were unsupported and buggy. * An error in one backend can corrupt other backends. * Speed improvements using threads are small compared to the remaining backend startup time. * The backend code would be more complex. + So, we are not "asleep at the switch" as they say with regard to new + features, it is just that we are cautious about their adoption. The + TODO list often contains links to discussions showing our reasoning in + these areas. + 1.10) How are RPM's packaged? This was written by Lamar Owen: diff --git a/doc/src/FAQ/FAQ_DEV.html b/doc/src/FAQ/FAQ_DEV.html index 6b2e1363f2..24baab3eb3 100644 --- a/doc/src/FAQ/FAQ_DEV.html +++ b/doc/src/FAQ/FAQ_DEV.html @@ -12,7 +12,7 @@

Developer's Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Tue Aug 13 16:41:02 EDT 2002

+

Last updated: Sat Nov 2 23:02:16 EST 2002

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@@ -39,7 +39,9 @@ 1.6) What books are good for developers?
1.7) What is configure all about?
1.8) How do I add a new port?
- 1.9) Why don't we use threads in the backend?
+ 1.9) Why don't you use threads/raw + devices/async-I/O, &insert your favorite wizz-bang feature + here&?
1.10) How are RPM's packaged?
1.11) How are CVS branches handled?
1.12) Where can I get a copy of the SQL @@ -381,10 +383,24 @@ handling. There is a backend/port directory if you need special files for your OS.

-

1.9) Why don't we use threads in the - backend?

+

1.9) Why don't you use threads/raw + devices/async-I/O, &insert your favorite wizz-bang feature + here&?

-

There are several reasons threads are not used:

+

There is always a temptation to use the newest operating system + features as soon as they arrive. We resist that temptation.

+ +

First, we support 15+ operating systems, so any new feature has + to be well established before we will consider it. Second, most new + wizz-bang features don't provide dramatic + improvements. Third, the usually have some downside, such as + decreased reliability or additional code required. Therefore, we + don't rush to use new features but rather wait for the feature to be + established, then ask for testing to show that a measurable + improvement is possible.

+ +

As an example, threads are not currently used in the backend code + because:

+

So, we are not "asleep at the switch" as they say with regard to + new features, it is just that we are cautious about their + adoption. The TODO list often contains links to discussions + showing our reasoning in these areas.

+

1.10) How are RPM's packaged?

This was written by Lamar Owen: