3 ms·
I don't know, if my large, commercial application suddenly starts taking twice the memory, or takes twice the time it used to take to start, can I 'have it'? A
by buserror 10y ago
I don't know, if my large, commercial application suddenly starts taking twice the memory, or takes twice the time it used to take to start, can I 'have it'?
And if I can 'have' that, where do I stop?
That was my principal problem with C++ in the end; you'd get some people in the codebase, and then it was endless fear of someone screwing it up, or deciding that it was such a good idea to add 'boost' thingies to the application because it was SO much nicer. And added 20MB to the installer size (let alone memory footprint).
I remember one day when I investigated why the new version of our commercial application was taking about a minute to startup while it used to take about 15 seconds...
After a long time, pain and effort, it turned out that someone had decided that one of the String class accessors would take it's String parameter as a value, and not as a reference. ONE character source code difference, but it made the millions of Strings created at startup being duplicated, converted back forth from UTF16 to UTF8, destructed etc etc etc.
- a_imho 10y agoC++ is a horrible language
- blub 10y agoIt's too late for your project, but in case anyone else has similar issues, some things can help: * coding standards (e.g: boost X is forbidden). Should be checked by the CI with clang-format + e.g. a Python script. * code review * static analysis (e.g: clang-tidy) * performance-focused integration tests
- marcosdumay 10y agoOh, now I get your point. Yes, C++ is much easier to mess with.