Re: Refactoring pgbench.c - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: Refactoring pgbench.c
Date
Msg-id 558FEC15.90209@2ndquadrant.com
Whole thread Raw
In response to Re: Refactoring pgbench.c  (Fabien COELHO <coelho@cri.ensmp.fr>)
Responses Re: Refactoring pgbench.c  (Tatsuo Ishii <ishii@postgresql.org>)
List pgsql-hackers
Hi,

On 06/28/2015 08:10 AM, Fabien COELHO wrote:
>
> Hello Tatsuo,
>
>> Main pgbench logic consists of single file pgbench.c which is 4036
>> lines of code as of today. This is not a small number and I think
>> it would be nice if it is divided into smaller files because it
>> will make it easier to maintain, add or change features of pgbench.
>
> I do not think that this large file is a so big a problem (good
> editors help navigation in the code), and I'm not sure that splitting
> it would achieve much: there are not that many functions, some of
> them are maybe long (main, threadRun, doCustom) but mostly for good
> reasons.

My thoughts, exactly. I don't think just splitting the file into 
multiple pieces will achieve anything - the problem is that we've 
extended the original pgbench code in rather hackish way, without any 
major design changes, so IMHO what should be done is refactoring ...

> I've submitted a patch to remove "fork-emulation", which I think
> would really help simplify the code (maybe -10% source in
> "pgbench.c", less #ifs, avoid double implementations or
> more-complex-than-necessary implementations or not-implemented
> features).

... and cleanup of dead code.

--
Tomas Vondra                   http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: proposal: condition blocks in psql
Next
From: Pavel Stehule
Date:
Subject: Re: proposal: condition blocks in psql