On Mon, May 20, 2013 at 04:29:30PM +0100, Gabriela Gibson wrote: > On 19/05/13 17:48, Daniel Shahaf wrote: > >On Sun, May 19, 2013 at 10:15:55AM -0000, g...@apache.org wrote: > >>Author: gbg > >>Date: Sun May 19 10:15:55 2013 > >>New Revision: 1484260 > >> > >>URL: http://svn.apache.org/r1484260 > >>Log: > >>Seperate variable declaration from assigment. > >> > >>* subversion/libsvn_client/diff.c > >> (set_up_diff_cmd_and_options): Seperate variable declaration from > >> assigment. > >> > >>Modified: > >> > >> subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/diff.c > >> > >>Modified: > >>subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/diff.c > >>URL: > >>http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/diff.c?rev=1484260&r1=1484259&r2=1484260&view=diff > >>============================================================================== > >>--- > >>subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/diff.c > >>(original) > >>+++ > >>subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/diff.c > >>Sun May 19 10:15:55 2013 > >>@@ -2465,7 +2465,9 @@ set_up_diff_cmd_and_options(struct diff_ > >> /* old style diff_cmd has precedence in config file */ > >> if (config) > >> { > >>- svn_config_t *cfg = svn_hash_gets(config, > >>SVN_CONFIG_CATEGORY_CONFIG); > >>+ svn_config_t *cfg; > >>+ > >>+ cfg = svn_hash_gets(config, SVN_CONFIG_CATEGORY_CONFIG); > > > >Why? This doesn't seem to serve any useful purpose (in fact, I think it > >makes > >the code harder to read). > > > > Because (if I understood this correctly!) the compiler builds more > efficient code and the startup time of the application is improved. >
Check the machine code generated before and after your change; it will be the same. > "To summarize, it is always preferable to add variables > as uninitialized or initialized with zero as opposed to as > initialized with a value other than zero." > > See Page 16 here: > http://software.intel.com/sites/default/files/m/a/1/e/dsohowto.pdf That says it's cheaper to initialize a memory location (or a register) to zero than to any other value. The code here, both before and after your change, initializes CFG to whatever apr_hash_get() returns, so that doesn't apply. (There is no intermediate initialization to zero in this case, either.)