From: | "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Jesper Pedersen" <jews(at)vip(dot)cybercity(dot)dk>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Summer of Code idea |
Date: | 2006-04-27 15:43:29 |
Message-ID: | 36e682920604270843l79317f57k7b8363c08e66f611@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 4/27/06, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> ... and is far more maintainable than an RD parser, and is not a
> performance bottleneck. I've never seen yyparse occupy as much as 2%
> of a backend profile ...
Not more maintainable by any stretch of the imagination. For example,
try and remove the AS alias for columns in our bison grammar without
having to remove keywords from unreserved_keywords :) In PCCTS (or a
hand-written RD parser), it's VERY easy because you can control the
lookahead as necessary.
Now, in terms of performance, it's hard to beat a LALR parser, but LL
parsers are comparable if done correctly; especially if written by
hand. Besides, parsing itself isn't what kills us, it's the lack of
caching unprepared statements. Yes, this is another topic in and of
itself, but I know there was discussion about it between you and Neil;
did anything ever come of it?
--
Jonah H. Harris, Database Internals Architect
EnterpriseDB Corporation
732.331.1324
From | Date | Subject | |
---|---|---|---|
Next Message | Matthew T. O'Connor | 2006-04-27 15:49:40 | Re: Autovacuum Logging |
Previous Message | Jonah H. Harris | 2006-04-27 15:33:55 | Re: Summer of Code idea |