• OneMeaningManyNames
    link
    fedilink
    English
    arrow-up
    4
    ·
    15 days ago

    I can’t speak to it, but perhaps Andrew Koenig and Barbara Moo, who have written the Accelerated C++ textbook can:

    We can be confident about the program’s performance because the C++ standard imposes performance requirements on the library’s implementation. Not only must the library meet the specifications for behavior, but it must also achieve well-specified performance goals. Every standard-conforming C++ implementation must

    • Implement vector so that appending a large number of elements to a vector is no worse than proportional to the number of elements
    • Implement sort to be no slower than nlog(n), where n is the number of elements being sorted

    The whole program is therefore guaranteed to run in nlog(n) time or better on any standard-conforming implementation. In fact, the standard library was designed with a ruthless attention to performance. C++ is designed for use in performance-critical applications, and the emphasis on speed pervades the library as well.