>>>>> "D" == Danny Sofer <danny / sofer.com> writes: D> Guy, thanks for your response. Using method(:counter) is an improvement over D> proc{counter}; it slows the flow, without actually stopping it. TkAfter is D> still better. [note: is method(:func) always going to be better than D> proc{func}?] It's normal, you must know that commands send to tk are stored in an hash. TkAfter call #after only once, this mean that only one Proc object is stored in the hash. With your script each time you call #after, a Proc object is stored in the hash and this is why ruby became bigger. When you replace 'proc { func }' with 'method(:func)' tk store in the hash a Method object which is smaller than a Proc object (because a Proc object store also its environnement to make possible closure). In your case, you don't need closure (because you work only with global variables), this is why, for this case, it's better to use a Method object rather than a Proc object. Guy Decoux