Hi Max,
> Um... I should be able to get a visualisation by running somthing like this
> right (I only installed it, didn't subclass anything)?
>
> MemoryProfiler
> viewProfiling: [ FSDiskFilesystem current working / foo ].
>
> I get a window but there's nothing in it...
The piece of code you want to profile needs is executed twice, and it needs "to
be time consuming" (~ 1 second).
For example, try:
MemoryProfiler
viewProfiling: [
| view |
view := MOViewRenderer new.
view nodes: (1 to: 5000).
view root applyLayout ]
or
MemoryProfiler
viewProfiling: [ (1 to: 2) collect: [ :i |
ConfigurationOfMetacello project currentVersion ] ]
to get a nice picture
> Also, is selecting the expression in the block above, right clicking and
> selecting "memory profile it" equivalent to sending #viewProfiling: ?
yes
> Reading your paper I get the idea that this should work, when looking at the
> instructions on the moose site it rather seems that I need to subclass
> MemoryProfiler to actually profile anything.
No need to subclass.
Cheers,
Alexandre
>
>
>
> On 09.11.2010, at 15:02, Alexandre Bergel wrote:
>
>> Ok, but please, provide feedback.
>>
>> Alexandre
>>
>>
>> On 9 Nov 2010, at 10:40, Max Leske wrote:
>>
>>> Sounds like what I just needed! I'll try it out.
>>>
>>> Cheers,
>>> Max
>>>
>>>
>>> On 09.11.2010, at 12:42, Alexandre Bergel wrote:
>>>
>>>> Hi Guido,
>>>>
>>>> We wrote a profiler to keep track of memory consumption.
>>>>
>>>> http://bergel.eu/download/papers/Berg10g-MemoryProfiling.pdf
>>>>
>>>> It will be presented at Smalltalks next week.
>>>>
>>>> Cheers,
>>>> Alexandre
>>>>
>>>> On 8 Nov 2010, at 23:47, Guido Stepken wrote:
>>>>
>>>>> E.g.: Three different solutions for a Euler problem:
>>>>>
>>>>> (1 to: 999) inject: 0 into: [:sum :i | (i \\ 3 = 0) | (i \\ 5 = 0)
>>>>> ifTrue: [sum + i]
>>>>> ifFalse: [sum]]
>>>>>
>>>>>
>>>>> (1 to: 999) detectSum: [:i | (i \\ 3 = 0) | (i \\ 5 = 0) ifTrue: [i]
>>>>> ifFalse: [0]]
>>>>>
>>>>> (1 to: 999) detectSum: [:i | i * (#(0 0 1 0 1 1 0 0 1 1 0 1 0 0 1)
>>>>> atWrap: i)]
>>>>>
>>>>> How do i measure the exact memory footprint of each solution?
>>>>>
>>>>> Pharo claims having reduced memory footprint at many places. Can that be
>>>>> proofed, e.g. with one comparable demo app, once run in old squeak, once
>>>>> in Pharo 1.1/1.2?
>>>>>
>>>>> And no, MessageTally spyOn: does not do right!
>>>>>
>>>>> Tnx in advance, Guido Stepken
>>>>>
>>>>>
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.