At its winter meeting in Kona, HI, USA, the ISO C++ committee has finalized work on C++17, writes Herb Sutter. A short summary of its main features here.
The browser vendors working on WebAssembly have reached a "consensus" on an initial implementation set, allowing browsers to ship it on by default. While this is an important milestone, the initial implementation won't immediately result in significant uptake by developers as important features such as DOM integration and garbage collection are not yet part of the spec.
Marking the 20th year since Visual Studio's first release, Visual Studio 2017 has formally been made available. VS2017 focuses on improvements to its core developer experience, in addition to greater support for mobile & cloud applications as well as more capable DevOps functionality.
LLD, which touts great performance improvements over GCC ld, will be included in LLVM 4 rc1 and enabled by default. Although the new linker is already able to build a running FreeBSD/amd64 base system, its inclusion in LLVM is still experimental and could be set back in rc2 if it causes problems.
Researchers at MIT have been working on a fork of LLVM to explore a new approach to optimizing parallel code by embedding fork-join parallelism directly into the compiler’s intermediate representation (IR). This, the researchers maintain, makes it possible to leverage most of the IR-level serial optimizations for parallel programs.
Microsoft has previously offered two different build tools for those needing to compile code without installing Visual Studio. The new Visual Studio Build Tools package combines these into a single tool.
The upcoming WebAssembly technology has reached the browser preview stage where major browser vendors have released a stable and compatible version of the language. They are now asking the community to use it and provide feedback.
Visual Studio in the past has struggled with large solutions. Visual Studio 15 seeks to improve project load times for C++ developers with a new feature called Faster Project Load.
In the Summer of 2013, Facebook engineers started a major redesign of the HHVM JIT compiler that brought an overall 15% reduction of CPU usage on Facebook’s web servers. Facebook engineer Guilherme Ottoni has recently described how Facebook achieved that result by backing profile-guided optimizations (PGO) into their JIT compiler.
Microsoft continues to refine their new extension for Visual Studio 2015 which provides developers with the ability to write C/C++ code in VS2015 and then transfer it to a remote machine running Linux for compilation and debugging. This combines the benefits of Visual Studio's IDE with advantages of a Linux deployment environment.
Go 1.7 significantly improves both compile times and runtime performance, says Google engineer Chris Broadfoot. It also adds hierarchical tests and benchmarks and official support for Linux on IBM z Systems (s390x).
Newly released Rust 1.10 introduces a new approach to bootstrapping that aims to be friendlier to open-source distributions. Additionally, it adds a new cargo option for handling panic that improves compiler performance and reduces binary size, a new format for shared libraries, and many performance improvements.
The full release of Visual Studio 2015 Update 3 has been made. Update 3 places a great emphasis on improving the stability of the product and reducing the amount of memory used by the IDE for solutions of all sizes. Other changes include better C++ support and better handling of product activation.
Microsoft has open sourced Checked C, a research project meant to add bounds checking to C and C++.