files listed in .info that don't contain classes or interfaces.

1. enable all modules

2. put this at the top of menu_execute_active_handler():

function menu_execute_active_handler($path = NULL, $deliver = TRUE) {
  db_query('UPDATE {registry_file} SET filectime = 0, filemtime = 0');
  registry_rebuild();

3. put this at the bottom of _registry_parse_file():

  else {
    file_put_contents('/path/to/your/log/file', "$filename\n", FILE_APPEND);
  }   
}

and you get:

modules/block/block.module
modules/block/block.admin.inc
modules/block/block.install
modules/color/color.module
modules/color/color.install
modules/comment/comment.admin.inc
modules/comment/comment.pages.inc
modules/comment/comment.install
modules/comment/comment.tokens.inc
modules/contextual/contextual.module
modules/dashboard/dashboard.module
modules/dblog/dblog.module
modules/dblog/dblog.admin.inc
modules/dblog/dblog.install
profiles/default/default.profile
modules/field/field.install
modules/field/field.crud.inc
modules/field/field.info.inc
modules/field/field.default.inc
modules/field/field.multilingual.inc
modules/field/field.form.inc
modules/field/modules/field_sql_storage/field_sql_storage.module
modules/field/modules/field_sql_storage/field_sql_storage.install
modules/field_ui/field_ui.module
modules/field_ui/field_ui.admin.inc
modules/file/file.module
modules/file/file.field.inc
modules/file/file.install
modules/filter/filter.module
modules/filter/filter.admin.inc
modules/filter/filter.pages.inc
modules/filter/filter.install
modules/help/help.module
modules/help/help.admin.inc
modules/image/image.module
modules/image/image.admin.inc
modules/image/image.effects.inc
modules/image/image.field.inc
modules/image/image.install
modules/field/modules/list/list.module
modules/menu/menu.module
modules/menu/menu.admin.inc
modules/menu/menu.install
modules/node/content_types.inc
modules/node/node.admin.inc
modules/node/node.pages.inc
modules/node/node.install
modules/node/node.tokens.inc
modules/field/modules/number/number.module
modules/field/modules/options/options.module
modules/overlay/overlay.module
modules/overlay/overlay.install
modules/path/path.module
modules/path/path.admin.inc
modules/rdf/rdf.install
modules/rdf/rdf.module
modules/search/search.module
modules/search/search.admin.inc
modules/search/search.pages.inc
modules/search/search.install
modules/shortcut/shortcut.module
modules/shortcut/shortcut.admin.inc
modules/shortcut/shortcut.install
modules/simpletest/simpletest.module
modules/simpletest/simpletest.pages.inc
modules/simpletest/simpletest.install
modules/system/system.module
modules/system/system.admin.inc
modules/system/image.gd.inc
modules/system/system.install
modules/system/system.tokens.inc
modules/taxonomy/taxonomy.admin.inc
modules/taxonomy/taxonomy.pages.inc
modules/taxonomy/taxonomy.install
modules/taxonomy/taxonomy.tokens.inc
modules/field/modules/text/text.module
modules/toolbar/toolbar.module
modules/update/update.install
modules/update/update.module
modules/update/update.authorize.inc
modules/update/update.compare.inc
modules/update/update.fetch.inc
modules/update/update.manager.inc
modules/update/update.report.inc
modules/update/update.settings.inc
modules/user/user.admin.inc
modules/user/user.pages.inc
modules/user/user.install
modules/user/user.tokens.inc
includes/graph.inc
includes/password.inc
includes/image.inc
includes/unicode.inc
includes/file.inc
includes/module.inc
includes/xmlrpc.inc
includes/actions.inc
includes/theme.inc
includes/ajax.inc
includes/date.inc
includes/xmlrpcs.inc
includes/lock.inc
includes/menu.inc
includes/iso.inc
includes/batch.inc
includes/bootstrap.inc
includes/common.inc
includes/session.inc
includes/theme.maintenance.inc
includes/unicode.entities.inc
includes/language.inc
includes/registry.inc
includes/token.inc
includes/form.inc
includes/file.mimetypes.inc
includes/path.inc
includes/authorize.inc
includes/locale.inc

holy unnecessary registry work, batman!

CommentFileSizeAuthor
#1 info.patch27.61 KBAnonymous (not verified)

Comments

Anonymous’s picture

Status: Active » Needs review
StatusFileSize
new27.61 KB

patch attached, including a hard-coded list of include files we shouldn't parse in _registry_parse_files().

just want to see if this breaks things, and get a sense of the speed increase.

Crell’s picture

Currently we use the registry only for classes, but that doesn't mean contrib can't benefit from having a readily-available list of all code files that Drupal knows about. I'm actually working on a D7 contrib module right now that would benefit from having such a list ready made for it. It may end up being for its own files only, but still we want to ensure that contrib authors do know to tell Drupal about files.

Unless there's a substantial performance difference here, -1 from me.

Anonymous’s picture

right, this patch doesn't consider that list of files being used anywhere else. i'm ok if this patch is wont-fixed because we feel that list of files should be required by modules regardless of the registry.

the performance benefit is really only worth something on the first build of the registry during install, which is where i was focussed when i noticed this, because after that the ctime/mtime checks kick in and we don't reparse files that haven't changed.

Status: Needs review » Needs work

The last submitted patch, , failed testing.

Status: Needs work » Needs review

Re-test of from comment #2393252 was requested by @user.

Status: Needs review » Needs work

The last submitted patch, , failed testing.

Anonymous’s picture

Status: Needs work » Closed (works as designed)