Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 17 of 17 total
Thread about "locking" records
Mon, Mar 26 2007 9:05 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Lucian,

<< I mean how can a file become corrupted and the corruption would mean
duplicating something... >>

Bytes can get shifted in the header, or someone can simply overwrite
portions of the table header with different data.

<< Stepping code only in dbisam folder, so far.  I guess it's fair to ask if
*this* changed in EDB, no? >>

Yes, EDB handles metadata completely differently.

--
Tim Young
Elevate Software
www.elevatesoft.com

Mon, Mar 26 2007 9:08 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Lucian,

<< After more checks, TDataFile.CheckHeader is called twice on
IndexDefs.Update. So, I now have 2 million loops. which I cut down to 1 mil,
with the suggested approach. Believe me, I can see a difference. >>

What is the actual time difference in relation to the total time ?

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Mar 27 2007 8:11 AMPermanent Link

"Lucian Radulescu"
Tim Young [Elevate Software] wrote:

> Lucian,
>
> << After more checks, TDataFile.CheckHeader is called twice on
> IndexDefs.Update. So, I now have 2 million loops. which I cut down to
> 1 mil, with the suggested approach. Believe me, I can see a
> difference. >>
>
> What is the actual time difference in relation to the total time ?

I'm having a bunch of 10 tables, so far. Only 3 do have between 400 and
500 fields. I have almost a 2.5 seconds faster response when opening
all tables. I think the 2.5 sec. comes from faster opening of those 3
tables. This is a 1.8GHz pc with IDE drives, Win2k pro.


regards,

Lucian
Tue, Mar 27 2007 8:15 AMPermanent Link

"Lucian Radulescu"
> > What is the actual time difference in relation to the total time ?

The total time is about 9-10 sec, initializing all 10 tables. But that
includes creating complete set of fields.

Lucian
Tue, Mar 27 2007 8:56 AMPermanent Link

"Lucian"
> The total time is about 9-10 sec, initializing all 10 tables. But that
> includes creating complete set of fields.

Actually I meant the total time it takes my mainform to show up. *That*
includes opening the tables 3 times. Once to catch eventually
DBISAM_OLDVERSION and UpgradeTable, once to check fields/indexes and
restructure, and finally one more time, later, to create needed fields.

Seems I also have to optimize my scripting engine. If I could reduce
the number of times I open the table, that would be very good.

Lucian
Tue, Mar 27 2007 10:01 AMPermanent Link

"Lucian"
> Seems I also have to optimize my scripting engine. If I could reduce
> the number of times I open the table, that would be very good.

Which I did. Now, for the whole thing, I am down to 3 sec with my
change in DBISAMen and ~ 4 sec without the change.

Also, I am trying a change in DBISAMtb:

procedure TDBISAMFieldDefs.Update;
begin
  DataSet.FieldDefs.Updated:=Self.Updated;
  DataSet.FieldDefs.Update;
  //Self.Updated:=DataSet.FieldDefs.Updated;//LR!
end;

I would add the third line. I have a feeling it should be there. If
this is correct it than reduces the calls to TDataFile.CheckHeader.
Any opinions, Tim?


Lucian
Wed, Mar 28 2007 7:09 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Lucian.

<< I would add the third line. I have a feeling it should be there. If this
is correct it than reduces the calls to TDataFile.CheckHeader.Any opinions,
Tim? >>

The whole TDBISAMFieldDefs.Update processing is particularly sensitive to
changes, so don't be surprised if it doesn't work.   On the surface,
however, it appears that it will do what you intend.

--
Tim Young
Elevate Software
www.elevatesoft.com

« Previous PagePage 2 of 2
Jump to Page:  1 2
Image