diff --git a/includes/cache.inc b/includes/cache.inc index 21630617d73af4379718b253b4c767ac20c990e4..2b150ffd9592b04db69a8f59468e821b97ce8a56 100644 --- a/includes/cache.inc +++ b/includes/cache.inc @@ -325,10 +325,15 @@ function getMultiple(&$cids) { try { // Garbage collection necessary when enforcing a minimum cache lifetime. $this->garbageCollection($this->bin); - $query = db_select($this->bin); - $query->fields($this->bin, array('cid', 'data', 'created', 'expire', 'serialized')); - $query->condition($this->bin . '.cid', $cids, 'IN'); - $result = $query->execute(); + + // When serving cached pages, the overhead of using db_select() was found + // to add around 30% overhead to the request. Since $this->bin is a + // variable, this means the call to db_query() here uses a concatenated + // string. This is highly discouraged under any other circumstances, and + // is used here only due to the performance overhead we would incur + // otherwise. When serving an uncached page, the overhead of using + // db_select() is a much smaller proportion of the request. + $result = db_query('SELECT cid, data, created, expire, serialized FROM {' . db_escape_table($this->bin) . '} WHERE cid IN (:cids)', array(':cids' => $cids)); $cache = array(); foreach ($result as $item) { $item = $this->prepareItem($item); diff --git a/includes/module.inc b/includes/module.inc index 14b394cc7f22d4139a1776edc0f674070179780d..9807acd48ffc4ecb6c07a0686d4c481a4c2ccbd5 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -127,6 +127,9 @@ function system_list($type) { // if not fetch only the required information to fire bootstrap hooks // in case we are going to serve the page from cache. if ($type == 'bootstrap') { + if (isset($lists['bootstrap'])) { + return $lists['bootstrap']; + } if ($cached = cache_get('bootstrap_modules', 'cache_bootstrap')) { $bootstrap_list = $cached->data; } diff --git a/modules/system/system.api.php b/modules/system/system.api.php index 92ca1e937fbe9c13624d798a1c1826af2fc03dcd..85e013824f053584f076a07ba1dfdd54cc183456 100644 --- a/modules/system/system.api.php +++ b/modules/system/system.api.php @@ -2552,7 +2552,7 @@ function hook_file_load($files) { * * @see file_validate() */ -function hook_file_validate(&$file) { +function hook_file_validate($file) { $errors = array(); if (empty($file->filename)) {