[buddypress-trac] [BuddyPress Trac] #7130: bp_notifications_get_all_notifications_for_user gets all records and can cause memory leak

buddypress-trac noreply at wordpress.org
Sun May 7 15:58:33 UTC 2017


#7130: bp_notifications_get_all_notifications_for_user gets all records and can
cause memory leak
-------------------------------------+-----------------------------
 Reporter:  hberberoglu              |       Owner:
     Type:  defect (bug)             |      Status:  new
 Priority:  normal                   |   Milestone:  Future Release
Component:  Toolbar & Notifications  |     Version:
 Severity:  normal                   |  Resolution:
 Keywords:                           |
-------------------------------------+-----------------------------

Comment (by m_uysl):

 I think `bp_notifications_get_unread_notification_count` should use
 `BP_Notifications_Notification::get_total_count` and
 `bp_notifications_get_notifications_for_user` shouldn't make expensive
 calculations, we can use group query to fetch latest unread notifications
 and  total count.

 So, I just added the patch that reduces memory usage.

 Benchmarking:

 ||notification count|| unread || external object cache || patch status ||
 memory usage ||
 || 37980 || 37977  || none || without patch || 141,150 kB ||
 || 37980 || 37977  || memcache || without patch || 118,976 kB ||
 || 30001 || 26999  || none || without patch || 109,732 kB ||
 || 30001 || 26999  || memcache || without patch || 94,342 kB ||
 || 37980 || 37977  || none || with patch || 41,136 kB ||
 || 37980 || 37977  || memcache || with patch || 40,056 kB ||
 || 30001 || 26999  || none ||  with patch || 41,138 kB ||
 || 30001 || 26999  || memcache ||  with patch || 40,056 kB ||


 (Probably, the patch needs to be updated, it may not be ready to merge but
 can give some thoughts.)

--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/7130#comment:4>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac


More information about the buddypress-trac mailing list