[Pharo-project] Howto measure memory footprints of functions/objects/libraries in Pharo?

Guido Stepken gstepken at googlemail.com
Tue Nov 9 03:47:58 CET 2010


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





More information about the Pharo-project mailing list