RE: [DUG]: BDE Added Value

1999-03-01 Thread Max Renshaw-Fox

So your saying the BDE is designed for back-end independence and *normal*
application development rather than bulk loads?

Max

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
Behalf Of Cooke, Andrew
Sent: Tuesday, 2 March 1999 12:21
To: Multiple recipients of list delphi
Subject: [DUG]: BDE Added Value


Hi,
Seeing BDE alternatives has come up again, I just thought I'd let you all
know about some "added value" we got from the BDE...

I wrote a little Delphi program to dump data from a stored procedure select
in Interbase to a text file.
We ran it on a database with about 4.5 Million records.

After about 500,000 records it crashed - the machine had run out of virtual
memory (only had 128Mb of physical ram, and 178 of swap). We set the swap
file to 500Mb and ran it again. This time we got to the 2 Million record
mark before running out of virtual memory. We watched memory use in task
manager and it was increasing by about 300kb per minute!

After looking hard at my simple program, and trying various options with it
and Interbase, we dumped TQuery and instead used the FreeIBComponents
(avoids the BDE). Result? Without changing the program (just subsituting
components), the software dumped out the 4.5Million records in no time flat
WITHOUT any increasing memory allocation.

Hmm, guess where our "added value" was coming from?

Regards,
  Andrew.


Andrew Cooke, Software Engineer ([EMAIL PROTECTED])
Information Technology Services, AgResearch, Ruakura Research Centre
Private Bag 3123 Hamilton, New Zealand. +64-7-8562836, fax +64-7-8385117

---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
  Website: http://www.delphi.org.nz

---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
  Website: http://www.delphi.org.nz



RE: [DUG]: BDE Added Value

1999-03-01 Thread Cooke, Andrew

Well Max, I agree and I disagree. If your software was going to be shipped
to millions of users, I would guess that you would stress test it and run
something like boundschecker to test for memory leaks. Perhaps I've struck
something outside the 95% level for defect testing - such as using a
database such as Interbase which is perhaps not used often with the BDE, or
perhaps doing a simple select rather than complex updates and deletes. I've
used the BDE on a number of projects without problems, and I _do_ appreciate
its back-end independance, although any project where I've had to change
databases has actually required significant rethink and rework anyway. And I
don't intend for this to degenerate into the usual round of BDE knocking.
However, I would imagine that a memory leak of this size is fairly
significant. Perhaps its something I should report to Inprise directly...

  Andrew.

 -Original Message-
 From: Max Renshaw-Fox [SMTP:[EMAIL PROTECTED]]
 Sent: Tuesday, March 02, 1999 12:56 PM
 To:   Multiple recipients of list delphi
 Subject:  RE: [DUG]:  BDE Added Value
 
 So your saying the BDE is designed for back-end independence and *normal*
 application development rather than bulk loads?
 
 Max
 
 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
 Behalf Of Cooke, Andrew
 Sent: Tuesday, 2 March 1999 12:21
 To: Multiple recipients of list delphi
 Subject: [DUG]: BDE Added Value
 
 
 Hi,
 Seeing BDE alternatives has come up again, I just thought I'd let you all
 know about some "added value" we got from the BDE...
 
 I wrote a little Delphi program to dump data from a stored procedure
 select
 in Interbase to a text file.
 We ran it on a database with about 4.5 Million records.
 
 After about 500,000 records it crashed - the machine had run out of
 virtual
 memory (only had 128Mb of physical ram, and 178 of swap). We set the swap
 file to 500Mb and ran it again. This time we got to the 2 Million record
 mark before running out of virtual memory. We watched memory use in task
 manager and it was increasing by about 300kb per minute!
 
 After looking hard at my simple program, and trying various options with
 it
 and Interbase, we dumped TQuery and instead used the FreeIBComponents
 (avoids the BDE). Result? Without changing the program (just subsituting
 components), the software dumped out the 4.5Million records in no time
 flat
 WITHOUT any increasing memory allocation.
 
 Hmm, guess where our "added value" was coming from?
 
 Regards,
   Andrew.
 
 
 Andrew Cooke, Software Engineer ([EMAIL PROTECTED])
 Information Technology Services, AgResearch, Ruakura Research Centre
 Private Bag 3123 Hamilton, New Zealand. +64-7-8562836, fax +64-7-8385117
 
 --
 -
 New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
   Website: http://www.delphi.org.nz
 
 --
 -
 New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
   Website: http://www.delphi.org.nz
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
  Website: http://www.delphi.org.nz



RE: [DUG]: BDE Added Value

1999-03-01 Thread Max Renshaw-Fox

Hi Andrew,

I was being slightly tongue-in-cheek. However you raise a valid point, as I
see it - it's horses for courses. I like the BDE, and Interbase for that
matter, because my main market is proprietary mid-sized development - at
which they both excel. If I was doing a shrink-wrap, or more likely for me,
modular Client-Server product I would seriously consider an alternative
that cuts out the middleperson. If multiple back-ends is important I'd be
back to the BDE again (Softech [sp?] use IB and Oracle and handle both SQL
syntaxes fairly cleverly).

I would also urge you to seriously consider putting some effort into
reproducing the memory leak in a small dedicated app, for sending to
Borland - er Inprise - er Borland.com. I'd be happy to help, - it should be
BDE501 on IB5x though. I've done some fairly large tests against IB, on
randomly generated data, without any issues - but not from "real" data.

One simple thing comes to mind - if the TQuery thinks it has to have a
bi-directional cursor it will try to cache the records you have scrolled
through so that you can change you mind at the 4.49 millionth record and
start going Prior instead of Next. Did you have RequestLive to False and
UniDirectional to True?

Max

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
Behalf Of Cooke, Andrew
Sent: Tuesday, 2 March 1999 16:22
To: Multiple recipients of list delphi
Subject: RE: [DUG]: BDE Added Value


Well Max, I agree and I disagree. If your software was going to be shipped
to millions of users, I would guess that you would stress test it and run
something like boundschecker to test for memory leaks. Perhaps I've struck
something outside the 95% level for defect testing - such as using a
database such as Interbase which is perhaps not used often with the BDE, or
perhaps doing a simple select rather than complex updates and deletes. I've
used the BDE on a number of projects without problems, and I _do_
appreciate
its back-end independance, although any project where I've had to change
databases has actually required significant rethink and rework anyway. And
I
don't intend for this to degenerate into the usual round of BDE knocking.
However, I would imagine that a memory leak of this size is fairly
significant. Perhaps its something I should report to Inprise directly...

  Andrew.

 -Original Message-
 From: Max Renshaw-Fox [SMTP:[EMAIL PROTECTED]]
 Sent: Tuesday, March 02, 1999 12:56 PM
 To:   Multiple recipients of list delphi
 Subject:      RE: [DUG]:  BDE Added Value

 So your saying the BDE is designed for back-end independence and *normal*
 application development rather than bulk loads?

 Max

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
 Behalf Of Cooke, Andrew
 Sent: Tuesday, 2 March 1999 12:21
 To: Multiple recipients of list delphi
 Subject: [DUG]: BDE Added Value


 Hi,
 Seeing BDE alternatives has come up again, I just thought I'd let you all
 know about some "added value" we got from the BDE...

 I wrote a little Delphi program to dump data from a stored procedure
 select
 in Interbase to a text file.
 We ran it on a database with about 4.5 Million records.

 After about 500,000 records it crashed - the machine had run out of
 virtual
 memory (only had 128Mb of physical ram, and 178 of swap). We set the swap
 file to 500Mb and ran it again. This time we got to the 2 Million record
 mark before running out of virtual memory. We watched memory use in task
 manager and it was increasing by about 300kb per minute!

 After looking hard at my simple program, and trying various options with
 it
 and Interbase, we dumped TQuery and instead used the FreeIBComponents
 (avoids the BDE). Result? Without changing the program (just subsituting
 components), the software dumped out the 4.5Million records in no time
 flat
 WITHOUT any increasing memory allocation.

 Hmm, guess where our "added value" was coming from?

 Regards,
   Andrew.

 
 Andrew Cooke, Software Engineer ([EMAIL PROTECTED])
 Information Technology Services, AgResearch, Ruakura Research Centre
 Private Bag 3123 Hamilton, New Zealand. +64-7-8562836, fax +64-7-8385117

 -
-
 -
 New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
   Website: http://www.delphi.org.nz

 -
-
 -
 New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
   Website: http://www.delphi.org.nz
---
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
  Website: http://www.delphi.org.nz

---
New Zealand Delphi Users group -