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
|