As a kid, I loved to peruse the Guiness World Book of Records. That must be why I always get a kick out of running some query or another against the image to find the most inst vars, or whatever.
Anyway, last night, I thought I'd play around with a VisualWorks interface to the Intel Integrated Performance Primitive (IPP) libraries. I've done quite a bit of DLLCC interfaces over the years; I usually do them by hand. I have a set of conventions I like to use and so I don't usually use the ExternalInterfaceBuilder tools.
Well, looking at the "size" of the IPP, I quailed. So I set out to use the automated header file parser thingumajig. It took a while to parse the 10 or so files. It took even longer to generate the methods. In fact, it was still working at it when I left for home last night, so I have no idea how long it took. The UI steps for doing this is very non-obvious. But it actually seemed to work in the end. Maybe when Vassili is done with Splash, he can redo the DLLCC builder interface. Call it Clash or something (as in lash(ing) Smalltalk code to C code). Given that the browsers were actually hesitating to open the newly populated IPP class, I became curious. Just how many methods did it create?
A simple query like this will tell you the top 10 most populous behaviors w.r.t. method count.
(Object withAllSubclasses
groupedBy: [:each | each getMethodDictionary size]) associations
asSortedCollection last: 10
(last: may be one of my own methods; an excercise for the student to implement)
Behavior |
Method Count
|
SocketAccessor class |
196
|
DebuggerService |
198
|
ParagraphEditor |
199
|
Parcel |
231
|
SymbolicPaint class |
265
|
Store.PackageModel |
280
|
Object |
324
|
Refactory.Browser.BrowserNavigator |
373
|
ToolbarIconLibrary class |
408
|
IPP |
8760
|
8760 methods. That's a few. No surprises with the rest. Run it in your image. Got any surprises?