note
mdillon
The effect of <tt>use strict</tt> occurs only at compile time, when Perl parses the source code and creates its internal representation. It does not change the execution speed of that code at run time. If the slowdown caused by <tt>strict</tt> is really a problem, the application can be designed in such a way that the code is only compiled once for a large number of operations. Depending on the application requirements and architecture, there are a number of ways to do this including turning the application into a long-running daemon or running it under mod_perl if it is a web application.
<p>The big deal if <tt>use strict</tt> is removed is that it is only a matter of time before somebody decides to try to "fix" a bug in production code without bothering to re-enable <tt>strict</tt>. When that happens, and it probably will in most deployment environments, the risks of not using <tt>strict</tt> will far outweigh any potential slowdown from using it.
<p>Besides, in what situation is the speed of an accounting application ever going to be more important that its correctness. I'd much rather have the code dealing with <em>my</em> money protected by the safety afforded by <tt>strict</tt> than have the code run a little faster.
<p><strong>Update</strong>: changed "executions" to "operations" in the first paragraph.
204281
204356