Brainstorming on profilling (was Re: RV: Instrumenting Send and ...)

John M McIntosh johnmci at smalltalkconsulting.com
Sat Oct 29 21:36:20 UTC 2005


Well Process>>resume:  in the vm is where process switch. A few years  
back I wrote  a change set and altered Process to track millisecond  
clock time, start dispatch, end of dispatch, and total time  
dispatched. That let you understand the clock time that a process had  
to run with (not the same as cpu time). One could also track the  
allocation count for a process by tracking that by the active  
processor structure when new is invoked.


On 29-Oct-05, at 1:00 PM, Klaus D. Witzel wrote:

> Hi Alex,
>
> perhaps comprehensive system accounting (CSA) is a starter to see  
> what ideas are already around for everyday's system accounting (for  
> such long runners as Seaside).
> - http://www.google.com/search?q=comprehensive+system+accounting+csa
>
> In any case I think that accounting for memory and cpu should be  
> per process (and so I would see my favorite memory integral  
> again :) but that would require changes to ObjectMemory (object  
> instantiation + GC) ...
>
> Into quite another direction goes the polymorphism metrics, which  
> addresses the actual receiver and/or target method per call site,  
> and can serve as a measurement of an application's object- 
> orientedness, etc. This should also be per process (or, better  
> perhaps per ClassBox).
> - http://www.google.com/search?q=call+site+polymorphic
>
> Hope that's not too much ;)
>
> /Klaus
>
> On Sat, 29 Oct 2005 19:04:34 +0200, Alexandre Bergel  
> <bergel at iam.unibe.ch> wrote:
>
>
>> In the very near future, I plan to work on profiling technics. The  
>> question I want to ask you is: What are the information we want to  
>> obtain from a program execution?
>>
>> Here are some thoughts:
>>      - 2 kinds of profiling: time and speed. How long methods of  
>> my application takes ? How much memory my application requires ?
>>      - minimize the amount of information by restricting the  
>> output of the profiler to the information I am really interested  
>> in. Basically, If I define a seaside application, I am only  
>> concerned by my application, and not by the seaside framework.
>>      - Currently, in Squeak,  I can only listen to everything  
>> (i.e., every method call is measured). It might be interesting to  
>> limit the measurement to a small part of the system (e.g., objets).
>>
>> I would be really interested in hearing your opinion...
>>
>> Regards,
>> Alexandre
>>
>> On Oct 29, 2005, at 6:36 PM, tim Rowledge wrote:
>>
>>
>>>
>>> On 29-Oct-05, at 8:50 AM, John M McIntosh wrote:
>>>
>>>
>>>
>>>> Let me add a primitive to turn that on or off
>>>>
>>>>
>>> There are already primitives for controlling profiling. Just use  
>>> those!
>>> clearProfile,
>>> dumpProfile,
>>> startProfiling,
>>> stopProfiling
>>>
>>>
>>> tim
>>> --tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
>
>
>

--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===




More information about the Squeak-dev mailing list