Thanks for the input. I have decided that this whole course is wrong. We have some performance problems and my boss wanted to see if there was a magic bullet. Loading the whole database into memory at startup was not the way to go.
I think we need to go to raw rows for display only screens and only make EO objects when we are going to edit. I think this is the recommended way to go. On 12/8/07 7:13 AM, "Alexander Spohr" <[EMAIL PROTECTED]> wrote: > > Am 07.12.2007 um 22:56 schrieb Jeffrey Simpson: > >> Thanks for the prompt reply. I forgot to mention we have our own >> batch >> fetching that does a objectByPrimary key with a delegate that does >> not do a >> database fetch to weed out the object in memory. > > Why and what for? EOF does this already well. > If you need a cache, give it an EC and some NSArrays to store the > objects. Use EOUtilities.localInstance to migrate objects into your > working-EC¹s if you need to make connections. > > >> I discovered that by having the ecs use strong references it did >> what I >> wanted. I also found out that is took to long to start an instance. > > Same question as Chuck¹s: What amount are you loading in what kind of > way? > > >> In our system each session has a default editing context that we >> only use >> for querying. Any thoughts on every session sharing the same >> default ec? >> This way the cache would slowly build. > > No, don¹t do this! Sessions should not interfere with each others data > - not even for reads. > > >> I think the real answer is for us to slowly rewrite our application >> to use >> more raw rows. > > Sorry for being rude, but either you did not understand EOF¹s > mechanics, or EOF is the wrong choice for your app. Raw rows is only > for mass-data, not for something to be cached and used by the object- > graph. > > I really think you have some speed problems at other places. I put my > bets on loops that fire faults... Watch your EOAdaptorDebug output. > > atze > > > >> On 12/7/07 1:41 PM, "Chuck Hill" <[EMAIL PROTECTED]> wrote: >> >>> >>> On Dec 7, 2007, at 7:01 AM, Jeffrey Simpson wrote: >>> >>>> I want to preload some EOs and so they are cached. I have set >>>> ERXEC.setDefaultFetchTimestampLag(86400000); >>> >>> That only applies to faulting, not fetching. You might want to look >>> at the much feared EOSharedEditingContext or at Wonder's EO caching >>> classes (there are three or so, IIRC). Also look at the "Cache in >>> memory" setting in EOModeler. >>> >>> >>>> I preload my EOs and do some >>>> batch fetching. Later on I use a fetch spec to query from the >>>> database some >>>> of the cached EOs. They are fully fetched which I understand is the >>>> case. >>>> When I then batch fetch these EOs the system always runs fetches. >>> >>> It is not clear to me what code you are using here. I will note that >>> all fetches (ec.objectsWithFetchSpecification) go to the database, >>> even if the fetched data is then discarded. Batch fetching is a >>> fetch. >>> >>> >>>> The time >>>> between this fetch and the preloading is < 5 minutes. If I run the >>>> same >>>> query in a the same ec then the EOs are cached. Any idea of why >>>> there is no >>>> caching between the 2 ecs? >>> >>> No, not without a clearer understanding of your code. >>> >>> Chuck >> >> >> Jeffrey Simpson >> Youth For Understanding USA >> [EMAIL PROTECTED] >> Telephone: (240) 235-2114 >> FAX: (202) 235-2104 >> >> Preparing young people for their responsibilities and opportunities >> in a >> changing, interdependent world. >> >> >> >> >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list ([email protected]) >> Help/Unsubscribe/Update your Subscription: >> http://lists.apple.com/mailman/options/webobjects-dev/atze%40freeport.de >> >> This email sent to [EMAIL PROTECTED] > > Freeport & Soliversum > Alexander Spohr > [EMAIL PROTECTED] > www.freeport.de > > Jeffrey Simpson Youth For Understanding USA [EMAIL PROTECTED] Telephone: (240) 235-2114 FAX: (202) 235-2104 Preparing young people for their responsibilities and opportunities in a changing, interdependent world. _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
