Notes
Sudden, Lethal News about EE
So I got an email over the holiday weekend from a key ExpressionEngine developer, which scared me because my understanding of key functionality in EE was completely wrong. And it could potentially destroy high-traffic, major ExpressionEngine-based sites.It has to do with the parsing order of tags and conditionals. If you use EEcode…
{if something}
{something}
{/if}
… you might think that the code within the conditional only fires if that conditional returns true. In most computing environments, sure. But not here. The code within the conditional will still fire - database queries, display code, other module code, etc. The only difference is that EE will simply hide the results after the logic fires.
You’d be forgiven for not knowing this, since EE doesn’t output anything about it. So, even if those queries don’t do much, or you wrap conditionals around them, they’ll still generate load.
There are a number of inefficiencies in the 1.x versions (watch the SQL debug output, and you’ll see what I mean), but this really bakes the cake. Unless they do something significantly different with EEcode parsing, a CodeIgniter rewrite won’t help.
If you’ve been worried about performance, you might need to re-read some of your code.
Blog comments powered by Disqus.