V4CC - garbage collection question

Ruslan Zasukhin sunshine at public.kherson.ua
Thu Sep 21 02:15:34 CDT 2006


On 9/20/06 11:47 PM, "Dave Parizek" <dave at janesoftware.com> wrote:

> Yes, I know Valentina is super fast.  yes, I read his testimonial -
> it is what got me started switching from RB to Cocoa - before I was
> staying with RB because I wanted to stay with Valentina.
> 
>   I was not referring to the relative speed of the different database
> products, I was just trying to informally look at garbage collection
> versus no garbage collection.  I was just saying that
> 
> (Valentina on RB WITH Garbage Collection) is WAY faster than
> (CoreData or MySQL on Cocoa WITHOUT Garbage Collection)
> 
> - so I was saying garbage collection is not necessarily slow per se.

I see.

Let me underline again: exists VERY DIFFERENT garbage collectors.
    exists simple and fast.

    exists more smart but more heavy. For example RB will be not able
    recognize case when 2 objects point together. They will not die.

> But perhaps that is only because Valentina is sooooo  fast it makes
> up for RB's GC and then some.

 
> Although it appears the way Apple is implementing GC that it will
> cause performance problems in some cases, and those some cases
> probably include using it with Valentina and large data sets.

Large dataset in db in fact do not affect the number of objects that exists
in RAM.


> If I  
> am understanding it correctly, and to put it very simply, RB's
> garbage collector just has to periodically kill those objects that
> are already marked for deletion,

Even more simpler. 

REALbasic do not mark objects to be deleted later.
REALBasic kill object immediately as its counter become zero.


> whereas Cocoa's GC will have to  periodically scan ALL/MANY objects - to find
> which to delete, which  (even though they do tricks to make it less
> noticeable) could be very  time consuming if you have millions of objects.

Again let me underline.
 
In Valentina the number of objects that are managed by engine
IS NOT affected by the number of records in tables.

Btw, in CoreData I believe picture is reverse !!

    They build in RAM object per each record.
    They even build in RAM records that was not loaded to be later
    able do this "faulting".
    
    So they really have in RAM a lots of objects.


> Hence the conclusion that it is best to not use GC with V4CC now, and
> maybe not ever, but to instead stick with Cocoa + Valentina + NO GC.

-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]




More information about the Valentina-beta mailing list