<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Wed, 09 Jul 2008 07:14:25 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Larry Garfield's Blog: Drupal 7 gets introspective code registry]]></title>
      <guid>http://www.phpdeveloper.org/news/10143</guid>
      <link>http://www.phpdeveloper.org/news/10143</link>
      <description><![CDATA[<p>
<i>Larry Garfield</i> talks about a new feature of Drupal 7 in <a href="http://www.garfieldtech.com/drupal-7-registry">a new post</a> to his blog - the new introspective code registry that's been introduced in this latest version.
</p>
<blockquote>
As a GHOP Task , Cornil did a performance analysis of Drupal and found its two largest performance drains were the bootstrap process and the theming layer. Quite simply, Drupal spends too much time including code. [...] Fortunately, Drupal 7's self-learning <a href="http://drupal.org/node/221964">code registry system</a> has <a href="http://drupal.org/cvs?commit=114916">just</a> <a href="http://drupal.org/cvs?commit=114932">landed</a>, which should obliterate most of the wasted bootstrap cost.
</blockquote>
<p>
<i>Larry</i> <a href="http://www.garfieldtech.com/drupal-7-registry">describes</a> the "heart of it all", the token_get_all call, that parses through an entire PHP file, splitting out things like classes included and functions called. This is passed through a function_exists call to the current script and, if it's already there, the file isn't included repetitively.
</p>]]></description>
      <pubDate>Thu, 08 May 2008 12:53:14 -0500</pubDate>
    </item>
  </channel>
</rss>
