<br><div class="gmail_quote">On Tue, May 20, 2008 at 11:01 AM, Larry Garfield &lt;<a href="mailto:larry@garfieldtech.com">larry@garfieldtech.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c"><br>
On Tue, 20 May 2008 10:15:17 -0400, &quot;Darrel O&#39;Pry&quot; &lt;<a href="mailto:darrel.opry@gmail.com">darrel.opry@gmail.com</a>&gt; wrote:<br>
&gt; On Mon, May 19, 2008 at 11:18 PM, Larry Garfield &lt;<a href="mailto:larry@garfieldtech.com">larry@garfieldtech.com</a>&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt;&gt; On Monday 19 May 2008, Darrel O&#39;Pry wrote:<br>
&gt;&gt; &gt; I just think it wold be cool to support both options, as some items<br>
&gt; may<br>
&gt;&gt; be<br>
&gt;&gt; &gt; user specific. I&#39;m not excluding normal cache_set/cache_get. I&#39;m still<br>
&gt;&gt; &gt; think in terms of a more general cacheable module_invoke_all &nbsp;and not<br>
&gt;&gt; &gt; specifically hook_*_info.<br>
&gt;&gt;<br>
&gt;&gt; There may be an advantage to that, but that&#39;s separate from what I&#39;m<br>
&gt;&gt; proposing. :-)<br>
&gt;&gt;<br>
&gt;&gt; It sounds like most people are in favor of something like this, though.<br>
&gt; Is<br>
&gt;&gt; anyone opposed to some written standards that we can then apply to code?<br>
&gt;<br>
&gt;<br>
&gt; It still remains to be seen if it&#39;s worthwhile.... Iterating over a few<br>
&gt; functions returning static arrays to to be merged vs a db_query() &nbsp;to be<br>
&gt; benchmarked... I personally think the db query will probably lose this<br>
&gt; race.<br>
<br>
</div></div>hook_menu(), hook_views_default_views(), hook_theme(), hook_schema(), and a dozen others would disagree with you. &nbsp;Very often the data isn&#39;t just cache_set()ed but parsed out into an easily-queried table. &nbsp;On the memory front, the database wins.<br>

<font color="#888888"><br>
--Larry Garfield<br>
</font></blockquote><div><br>&nbsp;<br>Where are the benchmarks that say the caching is an improvement over the hook invocation in these cases?&nbsp; Are you realistically judging the costs of these database queries on unloaded databases? I&#39;m not knocking it. I use pretty aggressive a caching for imagecache, I just think we also need to measure the impact rather than make assumptions based on other analogous, but not identical implementations.<br>
<br></div></div>What implementations besides hook_menu build their own easily queried tables?<br><br>The menu system is designed around much more than simply caching the results of hook_menu. We did have a way to support dynamic variables in URLs, it&#39;s quite complicated to choose the proper callback, and there was quite a bit of gnarly logic going on in hook_menu implementations to account for this... So yes it implements and easily queried table now.<br>
<br>What implementations besides hook_menu build their own easily queried tables? I hardly think one instance is &#39;Very Often&#39;.<br>
<br>Just caching the results of the return value of a
hook_*_info will not save any memory it will just exchange a hook_invocation .  I think your assertion regarding memory saving with a cache_set/cache_get is false without taking additional steps.<br><br>The memory and time would be saved by not loading the files via the registry, but I&#39;m wondering if there is a point of diminishing returns or effectiveness.<br>
<br>.darrel.<br>