Large image acting strangely ...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Large image acting strangely ...

Dennis smith-4


Ralf Propach wrote:
Dennis Smith wrote:
  
Thanks -- it did not show much
   100.0 All Processes
      100 Primitives
looks a bit strange.
Anyway, I think I found about 90% of the problem.  I have two items of
size 300,000.
One is a WeakDictionary and the other a WeakKeyedRegistry.

    

Hi Dennis,

I had something similar with DotNETConnect. When the object registry gets
large, garbage collection took a large part of the time. I found increasing
the size of newspace can help a lot. I think I did something like
ObjectMemory sizesAtStartup: #(10.0 10.0 1.0 1.0 1.0 10.0 1.0)
to make some tests run 3 times faster.

The problem is that WeakDictionary does a self rehash at the end of finalizeElements.
In rehash a new WeakDictionary with all the surviving elements is created
(in your case with 300000 keys, values and exectors). With a big enough WeakDictionary,
at that time newspace is full again, i.e. it is time for the next scavenge.

HTH

Ralf
  
Thanks -- I was just starting to work on the "atStartup" sizes when I discovered that the Ephemerons in the
WeekKeyedRegistry were the problem -- my solution?  don't use it :)  -- I found a simpler (and faster)
way of doing what I wanted.
  
A bit of explanation perhaps.  We normally run against a Gemstone
database and in a few places we use
the oop of the object, either asking the object for its oop or asking
for the object belonging to a saved oop.
So when we run (for testing or development purposes) without Gemstone,
we need a similar capability.
Previously I kept an OrderedCollection and searched it -- worked well
for small numbers of business objects.
In THIS case I am testing a payroll system for a client with about 5000
employees and about 60,000 detail objects
created during a payrun.  Wanted to do it without Gemstone because of
initial load time of the base objects,
so the WeekXxx stuff got a workout.

    

  

-- 
Dennis Smith                 		         +1 416.798.7948
Cherniak Software Development Corporation   Fax: +1 416.798.0948
509-2001 Sheppard Avenue East        [hidden email]
Toronto, ON M2J 4Z8              <a class="moz-txt-link-freetext" href="sip:dennis@CherniakSoftware.com">sip:dennis@...
Canada			         http://www.CherniakSoftware.com
Entrance off Yorkland Blvd south of Sheppard Ave east of the DVP
12