Lists: | pgsql-jdbc |
---|
From: | Gnanavel S <s(dot)gnanavel(at)gmail(dot)com> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Performance of loop |
Date: | 2005-04-28 03:56:32 |
Message-ID: | eec3b03c050427205669495af0@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
Hi,
First of all, I would like to thank the postgresql team for providing this
wonderful product.
Coming to the point, in postgresql jdbc driver coding, I saw many
inefficient "for" loops. For eg in V2Query.class file
While parsing the parameterized query, there is a "for" loop as this
for (int i = 0; i < query.length(); ++i)
{
char c = query.charAt(i);
....
.....
}
In the above coding, say if the length of the query is 1000 characters then
the query.length() is evaluated 1000 times there by reducing the
performance.
I think the loop can be rewritten as
for (int i = 0,c=query.length(); i < c; ++i)
{
char c = query.charAt(i);
....
.....
}
with regards,
S.Gnanavel
Software Engineer
Satyam Computer Services Ltd
From: | Oliver Jowett <oliver(at)opencloud(dot)com> |
---|---|
To: | Gnanavel S <s(dot)gnanavel(at)gmail(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Performance of loop |
Date: | 2005-04-28 04:22:27 |
Message-ID: | 42706503.7080800@opencloud.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
Gnanavel S wrote:
> In the above coding, say if the length of the query is 1000 characters
> then the query.length() is evaluated 1000 times there by reducing the
> performance.
> I think the loop can be rewritten as
>
> for (int i = 0,c=query.length(); i < c; ++i)
> {
> char c = query.charAt(i);
>
> ....
> .....
> }
Have you benchmarked this? I doubt it's really a hotspot given that the
JIT is likely to inline length(). Premature optimization and all that..
-O
From: | Gnanavel S <s(dot)gnanavel(at)gmail(dot)com> |
---|---|
To: | Oliver Jowett <oliver(at)opencloud(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Performance of loop |
Date: | 2005-04-28 04:38:59 |
Message-ID: | eec3b03c050427213841e5062@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
No. I havn't done any benchmark, but lot of such inefficient loops may hit
the performance.
On 4/28/05, Oliver Jowett <oliver(at)opencloud(dot)com> wrote:
>
> Gnanavel S wrote:
>
> > In the above coding, say if the length of the query is 1000 characters
> > then the query.length() is evaluated 1000 times there by reducing the
> > performance.
> > I think the loop can be rewritten as
> >
> > for (int i = 0,c=query.length(); i < c; ++i)
> > {
> > char c = query.charAt(i);
> >
> > ....
> > .....
> > }
>
> Have you benchmarked this? I doubt it's really a hotspot given that the
> JIT is likely to inline length(). Premature optimization and all that..
>
> -O
>
--
with regards,
S.Gnanavel
Satyam Computer Services Ltd.