WordPress.org

Make WordPress Core

Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#43891 closed enhancement (invalid)

Performance improvement for WP_Query

Reported by: rnaby Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Query Keywords: has-patch needs-testing
Focuses: Cc:

Description

WP_Query has some(10 I think) use of reset() function. But it has a performance drawback. So here I'm proposing to replace the PHP native reset() function with class method which will work with foreach() loop.

Here is the benchmark-
http://sandbox.onlinephpfunctions.com/code/d16f2e69944643bd49ad3b2beb4d37ad23a2d742.

Attachments (1)

43891.diff (3.6 KB) - added by rnaby 2 years ago.
The patch for the issue.

Download all attachments as: .zip

Change History (5)

@rnaby
2 years ago

The patch for the issue.

#1 @johnbillion
2 years ago

  • Keywords reporter-feedback added; 2nd-opinion dev-feedback removed
  • Severity changed from major to normal
  • Version trunk deleted

Thanks for the ticket and the patch, @rnaby, but I think your benchmarks are flawed. If you add judge($a, 'reset'); to the end of the test (after judge($a, '_reset'); you'll see that directly calling reset() is faster than the other methods. Your _reset() function incurs overhead that the reset() function doesn't.

Can you confirm?

Last edited 2 years ago by johnbillion (previous) (diff)

#2 @rnaby
2 years ago

@johnbillion Understood!

Last edited 2 years ago by rnaby (previous) (diff)

#3 @rnaby
2 years ago

  • Resolution set to worksforme
  • Status changed from new to closed

#4 @SergeyBiryukov
2 years ago

  • Keywords reporter-feedback removed
  • Milestone Awaiting Review deleted
  • Resolution changed from worksforme to invalid
Note: See TracTickets for help on using tickets.