https://bugzilla.wikimedia.org/show_bug.cgi?id=39665

       Web browser: ---
             Bug #: 39665
           Summary: ApiQuery->makeGeneratorList autoloads all query
                    classes
           Product: MediaWiki
           Version: 1.20-git
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: API
        AssignedTo: wikibugs-l@lists.wikimedia.org
        ReportedBy: domas.mitu...@gmail.com
                CC: bryan.tongm...@gmail.com, roan.katt...@gmail.com,
                    s...@reedyboy.net, soxre...@gmail.com
    Classification: Unclassified
   Mobile Platform: ---


Created attachment 11009
  --> https://bugzilla.wikimedia.org/attachment.cgi?id=11009
profiler image

This check for 'is a generator' is quite expensive for ApiQuery - as it has to
load all class files to resolve it:

    private function makeGeneratorList( $moduleList ) {
        foreach( $moduleList as  $moduleName => $moduleClass ) {
            if ( is_subclass_of( $moduleClass, 'ApiQueryGeneratorBase'  ) ) {

It may make sense to build generator list in somewhat lighter way. 

This is ends up being 30%+ of API setup cost for simple API queries, e.g.
api.php?action=query&format=txt

Attaching profiler image.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to