avoid register/deregister of tmp fields
By default IOobject uses (REGISTER). When a tmp field is created, its name will be registered in the corresponding objectRegistry (invoking an allocation to add to the HashTable, plus calculation of a hash value etc). If the tmp leaves scope immediately, it is removed from the registry which incurs another delete in addition to that of the tmp itself.