Stef wrote: >did you notice a different between SystemAnnouncer and replacing it by another >one?
Yes, it made a significant difference. It did not remove enough overhead though. Job>value: was called over 100K times, doing that only every 100 increments helped enough. Job>>jobAnnouncer ^jobAnnouncer ifNil: [ jobAnnouncer := Announcer new ] Job>announce: anAnnouncementClass | announcement | announcement := anAnnouncementClass on: self. self announcer announce: announcement. Job>announcer ^Job jobAnnouncer SystemProgressMorph>>enable Job jobAnnouncer on: JobStart send: #startJob: to: self. Job jobAnnouncer on: JobEnd send: #endJob: to: self. Job jobAnnouncer on: JobChange send: #updateJob: to: self. SystemProgressMorph>>disable Job jobAnnouncer unsubscribe: self. Morphic-StephanEggermont.1375.mcz Kernel-StephanEggermont.1351.mcz