Performance metrics - some early conclusions

Ed Kleban Ed at Kleban.com
Wed Nov 30 10:14:08 CST 2005




On 11/30/05 9:50 AM, "Ruslan Zasukhin" <sunshine at public.kherson.ua> wrote:

> On 11/30/05 5:33 PM, "Ed Kleban" <Ed at Kleban.com> wrote:
> 
>> I don't fully understand what  forAdd does however.   I presume that it
>> prevents the SetBlank method from writing the memory buffer values back to
>> the current table record, but:
> 
>> 1) Why should SetBlank do this at all?  Should the user just use
>> UpdateRecord if he wants that done?
> 
> I can wish
> 
>     t.SetBlank
>     t.UpdateRecord()
> 
> 
> So on default SetBlank() MUST make copies of old values.

Sorry. I don't get it.  Why must SetBlank make copies of old values?  It
copies what values from where and places them where?
 
>> 2) If no memory fields have been modified does use of forAdd provide any
>> savings?
> 
> SetBlank() itslef ALWAYS copy all and each old values BEFORE you start write
> new
>  
> So answer is: number of dirty fields DOES NOT affect

There is no need to copy the values of the current record in the table to
the memory buffer, because SetBlank is going to immediately overwrite every
memory buffer field with the blank value.

There should be no need to copy the values of the in memory buffer fields to
the current table record because the user should have used "UpdateRecord",
and you're saying it is not affected by the number of dirty fields and
(below) that this even happens when there are no allocated records in the
table.

So I don't get it.  What's being copied from where to where and why?


>> 3) If no records have yet been allocated does use of forAdd provide any
>> savings?
> 
> But you have some current record...




More information about the Valentina mailing list