[buddypress-trac] [BuddyPress Trac] #6865: `bp_activity_get_actions()` should only sort when necessary

buddypress-trac noreply at wordpress.org
Wed Feb 3 04:29:20 UTC 2016

#6865: `bp_activity_get_actions()` should only sort when necessary
 Reporter:  boonebgorges                |       Owner:
     Type:  enhancement                 |      Status:  new
 Priority:  normal                      |   Milestone:  2.5
Component:  Component - Activity        |     Version:
 Severity:  normal                      |  Resolution:
 Keywords:  has-patch needs-unit-tests  |

Comment (by boonebgorges):

 Replying to [comment:3 imath]:
 > My first thought is i agree saving overload is very important, but i
 think we must be careful to make sure things are still working the way
 they should :)

 Details, details ;)

 I'm not sure why your approach in [attachment:6865.02.patch] works, but I
 guess my original patch didn't work because of the loose comparison of
 objects. A simple flag like `$do_sort` in [attachment:6865.2.diff] works
 better, and is probably easier to understand.

 In my testing, the initial call to `bp_activity_set_actions()` always
 sorts *unless there are no post types being tracked in the activity
 stream*. For this reason, I added a second flag: `$sorted`. I'm not sure
 what a unit test for this would look like - we can wipe the
 `$bp->activity->actions` object and reinitialize it, but we'll need to
 shut down post type tracking temporarily in order to trigger the scenario
 in which `$sorted` is necessary.

 In a quick test where I called `bp_activity_get_actions()` about 500
 times, wall time for the function is 1.33 seconds before the patch, and
 .194 seconds with the patch. (And much faster still with the changes to
 `bp_sort_by_key()` suggested in #6864.)

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

More information about the buddypress-trac mailing list