A couple more data points to give Nicolas some work.

Let's get a random OC:

st> a := (OrderedCollection allInstances at: 14000)
OrderedCollection ()

and let's see where it comes from. Some objects fail to print because they point to files on Stefan's machine, so..

st> (b := a allOwners) collect: [ :e | e class ]
(Iliad.RawHtmlElement MethodContext CallinProcess Array Array Array Array Array Array MethodContext MethodContext Association MethodContext CallinProcess BlockClosure MethodContext MethodContext MethodContext )

st> b first inspect
An instance of Iliad.RawHtmlElement
  children: OrderedCollection ()
  attributes: Dictionary (
)
  contents: 'falsch'
a RawHtmlElement

Doh.  Here go ~400 bytes:

st> b first attributes basicSize
32
st> b first children basicSize
16

13 megabytes:

st> Iliad.RawHtmlElement allInstances count: [ :e | e children size = 0 & e attributes size = 0 ]
26945

plus 6 more for Iliad.BreakElement:

st> Iliad.Element allSubclasses asArray collect: [ :e | e->(e allInstances count: [ :e | e children size = 0 & e attributes size = 0 ]) ]
.... Iliad.BreakElement->16613 ....

Regarding children, there are 5166 InputElements and 16613 RadioButtonElement that would save 150 bytes each.

and so on.

I'll look at Accept later.

Paolo


_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to