On 01 Jul 2015, at 21:07, Thierry Goubier <thierry.goubier@gmail.com> wrote:
Le 01/07/2015 20:49, Sven Van Caekenberghe a écrit :
Reading the code from SubscriptionRegistry>>#deliver: is seems to me that *on each announcement* a new array is created with the subscriptions that want to handle the announcement. That strikes me as pretty inefficient.
But, when tracing code which is a heavy user of announcements such as MC loads, it just does not register as a loss compared to the time lost processing those announcements.
Do you have time profiles where #deliver: register as a significant contributor? I don't.
No, I don't either. I said 'when reading the code'. Still, it seems odd. I use Announcements for logging, then speed of handling is (could be) an issue (as is multi-threaded access).
Thierry
(who discovered that RPackageOrganizer>>#rpackageNamed: could register as heavy on a MC load :( when tracing a MC load)