background preloader

References

Facebook Twitter

Stroustrup: C++ Cplusplus.com - The C++ Resources Network. C++ Reference [C++ Reference] C++ FAQ LITE. Software optimization resources. C++ and assembly. Windows, Linu. See also my blog Contents Optimization manuals This series of five manuals describes everything you need to know about optimizing code for x86 and x86-64 family microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of most Intel, AMD and VIA processors, and details about different compilers and calling conventions.

Operating systems covered: DOS, Windows, Linux, BSD, Mac OS X Intel based, 32 and 64 bits. Note that these manuals are not for beginners. 1. This is an optimization manual for advanced C++ programmers. 2. This is an optimization manual for advanced assembly language programmers and compiler makers. 3. This manual contains details about the internal working of various microprocessors from Intel, AMD and VIA. 4. 5. All five manuals Download all the above manuals together in one zip file. C++ vector class library File name: vectorclass.zip, size: 682404, last modified: 2017-Jul-27.Download. Breaking Up The Monolith: Advanced C++ Design without Compromise.

A new book by Matthew Wilson Breaking Up The Monolith describes techniques for writing and working with C/C++ libraries effectively, efficiently and with minimal coupling. It illustrates how to write high-quality C++ software that does not need to sacrifice on important software quality characteristics such as robustness, performance, expressiveness, flexibility, modularity, portability, and discoverability & transparency. The principles of C++ software engineering espoused in this book are: Software quality is important, and compromise should be, and can be, minimized.

The concepts, patterns, principles and techniques described in Breaking Up The Monolith have enabled the development of: FastFormat, the most robust, most flexible, and fastest C++ formatting library Pantheios, the fastest, flexible, and only 100% type-safe C++ logging library VOLE, a library for driving COM/OLE automation servers from C++ with a natural, 100% type-safe, and efficient syntax. High Performance Heterogeneous Container.

Download source - 21.37 KB Contents Introduction A heterogeneous container is a container that can store elements of different types. For strongly typed languages like C++, such kind of container isn't a natural or built-in feature. Many solutions exist though, to simulate this heterogeneous property, but they often involve memory space or runtime speed trade-offs. This article presents a fixed-size heterogeneous container, named tek::record, that tries to achieve the best possible performances in terms of both size and speed. Existing Solutions This chapter lists the most known and popular solutions to implement a heterogeneous container, and their main drawbacks. Classical Polymorphism In the classical polymorphism solution, the container holds pointers to a base class from which several classes are derived.

Limitations: Virtual functions can't be inlined in this case Impossibility to directly use built-in types Loss of type identity and traits specific to the derived classes Tuple Typelist.