Subject RE: [IBDI] SPEED-- Product Comparisons
Author Bill King
as a real world scenario, a 3 level master detail, kids, -> quarters->
weeks,bookings,history.
On paradox, and insert of one week record into each child took approximately
8 minutes on paradox, on ibx (no reworking of code for speed) it dropped
down to 1 min 45 (and that included a FetchAll over and above the paradox
functionality) (working set of 300 kids, 13 booking records per quarter, 2
quarters per child)

> -----Original Message-----
> From: Alan McDonald [mailto:alan@...]
> Sent: Monday, 4 September 2000 8:53 AM
> To: IBDI@egroups.com
> Subject: RE: [IBDI] SPEED-- Product Comparisons
>
>
>
> I agree Paul,
> I haven't even done such a simple test as you have but after several years
> of working with IB, I know that if I get my indexes right I can do some
> pretty damn quick stuff. I've done some similar things with SQL server
> (e.g.) and there's no comparison.
> At the moment I've written a few pretty complex procedures which
> ripple thru
> six tables in school, building, room relationship (2000 schools, 40000
> buildings and 250000 rooms) updating IDs from one set of tables into the
> other set after making sure of an asset match between the tables (match on
> other than the ID). It takes about 25 secs to do it's thing and log every
> update into a separate table! At first I couldn't believe that it had done
> it properly and I had to waste about an hour of my time trying to convince
> myself that all records had been checked and that there wasn't a bug in my
> code.
> Bottom line - these real simple tests are a shamm on the real ability of
> IB - put one of these other DB's thru a real world test and there's no
> comparison. Complex comparisons are difficult though since you
> start to have
> to make structural/data type diferences between the DBs since
> they don't all
> see real world problems in the same way.
> Alan McDonald
>
> >-----Original Message-----
> >From: Paul Gallagher [mailto:paul@...]
> >Sent: Monday, 4 September 2000 4:21
> >To: IBDI@egroups.com
> >Subject: Re: [IBDI] SPEED-- Product Comparisons
> >
> >
> >
> >I really don't know how to do a proper benchmark, but I did some testing
> >anyway. <g>
> >
> >Machine:
> >dual celeron 466mhz with 328 meg ram. WD 27gig HD with ultraDMA66,
> >Windows2000 Pro, running IB6 production release.
> >
> >Basically, I just inserted 10,000 records with a TIB_DSQL component, with
> >one user, and checked for time.
> >
> >The time averaged about 2.95, with a best of 2.85 seconds to insert the
> >10,000 rows. Thats 207,000 rows per minute. Using IBAffinity surprisingly
> >made little difference. It was slightly faster(maybe 5-10%) when using
> >processor 2 only. Using processor 1 was slightly slower. I suspect that
> >Win2k is better at processor management than NT4 was. Page size
> set to 4096
> >made a very slight improvement. Changing buffers to 5000, made no
> >difference.
> >
> >I realize I have a fairly fast machine, but it is a CELERON, not
> a P3. The
> >time of 2.9 seconds beats anything I have seen out of MYSQL or
> PostgreSQL.
> >
> >When I committed after every row, the time jumped to about 6.5
> seconds. But
> >thats 1538 transactions per second!
> >
> >Not very meaningful, because I could not do a side by side with
> >other DBM's,
> >but it shows that Interbase is capable of some very impressive numbers.
> >
> >Paul Gallagher
> >__________________
> >
> >The Database:
> >CREATE DATABASE 'Benchmark.gdb'
> > USER 'SYSDBA'
> > PASSWORD 'masterkey'
> > PAGE_SIZE=4096;
> >create table TABLE1(
> > FIELD1 integer not null,
> > FIELD2 varchar(100) not null);
> >
> >commit work;
> >alter table TABLE1 add constraint PK_TABLE1 primary key (FIELD1);
> >
> >The DSQL:
> >INSERT INTO TABLE1 (FIELD1, FIELD2) VALUES
> >(?ONE, ?TWO);
> >
> >And the code:
> >procedure TForm1.Button2Click(Sender: TObject);
> >var
> >i:integer;
> >starttime,endtime,ElapTime:TDateTime;
> >s:string;
> >begin
> > IB_Transaction1.Commit;
> >
> >s:='elsdksdflkjalialfdjlkaeru,skdflasidfualkjrlkaudflkjsdfljas;fusk
> >ljfslk;al
> >ksjfkasj';
> > StartTime:=now;
> > IB_Transaction1.BeginBusy(true);
> > IB_DSQL1.Prepare;
> > for i:=1 to 10000 do
> > begin
> > IB_DSQL1.ParamByName('ONE').Value:=i;
> > IB_DSQL1.ParamByName('TWO').Value:=s;
> > IB_DSQL1.ExecSQL;
> > end;
> > IB_Transaction1.Commit;
> > IB_Transaction1.EndBusy;
> > EndTime:=now;
> > ElapTime:=EndTime-StartTime;
> > Label1.Caption:=FloatToStr(ElapTime*86400)+' seconds';
> > IB_Connection1.Disconnect;
> >end;
> >
> >
> >
> >Community email addresses:
> > Post message: IBDI@onelist.com
> > Subscribe: IBDI-subscribe@onelist.com
> > Unsubscribe: IBDI-unsubscribe@onelist.com
> > List owner: IBDI-owner@onelist.com
> >
> >Shortcut URL to this page:
> > http://www.onelist.com/community/IBDI
>
>
> Community email addresses:
> Post message: IBDI@onelist.com
> Subscribe: IBDI-subscribe@onelist.com
> Unsubscribe: IBDI-unsubscribe@onelist.com
> List owner: IBDI-owner@onelist.com
>
> Shortcut URL to this page:
> http://www.onelist.com/community/IBDI
>
>