On 05/31/2016 06:22 PM, Dimitry Sibiryakov wrote: > Hello, All. > > During string class refactoring I tried to declare all constructors > explicit because > they are relatively heavy in term of data moving. And it was amazing to see > in how many > places in code compiler is implicitly creating temporary objects. I'm sure > that in some > cases it was completely unintentional behavior. > Because such things may greatly affect performance and Firebird is > supposed to be a > heavy loaded service, may be it worth to add a rule to coding style guide to > make any > non-trivial constructor explicit?.. >
I hardly believe strings can affect performance seriously. They are typically not used for objects in deep layers. Or may be there are mentioned cases of unintentional behavior? Can you provide most striking example? What about making ctors explicit - this needs definition of non-trivial ctor. ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel