Update FAQ_DEV.

This commit is contained in:
Bruce Momjian 2002-11-03 04:02:32 +00:00
parent 24135fbf09
commit 659df79e45
2 changed files with 49 additions and 9 deletions

View file

@ -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:

View file

@ -12,7 +12,7 @@
<H1>Developer's Frequently Asked Questions (FAQ) for
PostgreSQL</H1>
<P>Last updated: Tue Aug 13 16:41:02 EDT 2002</P>
<P>Last updated: Sat Nov 2 23:02:16 EST 2002</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
@ -39,7 +39,9 @@
<A href="#1.6">1.6</A>) What books are good for developers?<BR>
<A href="#1.7">1.7</A>) What is configure all about?<BR>
<A href="#1.8">1.8</A>) How do I add a new port?<BR>
<A href="#1.9">1.9</A>) Why don't we use threads in the backend?<BR>
<A href="#1.9">1.9</A>) Why don't you use threads/raw
devices/async-I/O, &amp;insert your favorite wizz-bang feature
here&amp;?<BR>
<A href="#1.10">1.10</A>) How are RPM's packaged?<BR>
<A href="#1.11">1.11</A>) How are CVS branches handled?<BR>
<A href="#1.12">1.12</A>) Where can I get a copy of the SQL
@ -381,10 +383,24 @@
handling. There is a <I>backend/port</I> directory if you need
special files for your OS.</P>
<H3><A name="1.9">1.9</A>) Why don't we use threads in the
backend?</H3>
<H3><A name="1.9">1.9</A>) Why don't you use threads/raw
devices/async-I/O, &amp;insert your favorite wizz-bang feature
here&amp;?</H3>
<P>There are several reasons threads are not used:</P>
<P>There is always a temptation to use the newest operating system
features as soon as they arrive. We resist that temptation.</P>
<P>First, we support 15+ operating systems, so any new feature has
to be well established before we will consider it. Second, most new
<I>wizz-bang</I> features don't provide <I>dramatic</I>
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.</P>
<P>As an example, threads are not currently used in the backend code
because:</P>
<UL>
<LI>Historically, threads were unsupported and buggy.</LI>
@ -397,6 +413,11 @@
<LI>The backend code would be more complex.</LI>
</UL>
<P>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.</P>
<H3><A name="1.10">1.10</A>) How are RPM's packaged?</H3>
<P>This was written by Lamar Owen:</P>