Product News

HPX version 0.9.10 released -- STE||AR Group

The STE||AR Group has released V0.9.10 of HPX -- A general purpose parallel C++ runtime system for applications of any scale.

HPX V0.9.10 Released

The newest version of HPX (V0.9.10) is now available for download! Please see here for the release notes.

HPX now exposes an API fully conforming to the concurrency related parts of the C++11 and C++14 standards, extended and applied to distributed computing.

From the announcement:

  • The major focus of this release was to improve the reliability of large scale runs. We have shown to reliably run HPX applications on up to ~24k cores (~1k nodes).
  • A very important improvement introduced with this release is the refactoring of the networking infrastructure which improves the overall performance.
  • We continued our work towards a complete implementation of N4354 (Working Draft, Technical Specification for C++ Extensions for Parallelism).
  • Move to C++11 variadics: all of the API now uses variadic templates.

Range comprehensions with C++ lazy generators -- Paolo Severini

From a totally unnecessary blog (we beg to differ):

Range comprehensions with C++ lazy generators

by Paolo Severini

From the article:

Lazy evaluation is a powerful tool and a pillar of functional programming; it gives the ability to construct potentially infinite data structures, and increases the performance by avoiding needless calculations ...

... Functional languages like Haskell have the concept of list comprehensions ... In C#, of course, we have LINQ ... It would be nice to have something similar in an eager language like C++ ... now the lazy, resumable generators proposed by N4286 seem perfect for this purpose ... We can use the VS2015 CTP prototype to experiment with this idea ...

When CLion met biicode -- Anastasia Kazakova

CLion is a new cross-platform IDE from JetBrains for C and C++ developers. And Biicode is a C/C++ dependency manager. This post is about a very simple and straightforward way to use biicode features together with CLion IDE to benefit from both.

When CLion met biicode

by Anastasia Kazakova

From the article:

CMake layout for the project is generated by biicode commands, after which you can open the project directly in CLion. You can resolve dependencies and install the missing libraries easily by using bii commands from the CLion built-in terminal (Alt+F12).

Take a short overview of the overall process and some available features...

Stackless coroutines with Visual Studio 2015 -- Paolo Severini

From a totally unnecessary blog (we beg to differ):

Stackless coroutines with Visual Studio 2015

by Paolo Severini

From the article:

I had been looking for some time now at the problem of implementing coroutines/resumable functions in order to have even in C++ something similar to what is provided by C# await and yield statements. It turns out that -- unbeknown to me -- this is quite a hot topic in the C++ community...

... stackful coroutines have a big disadvantage in the fact that fibers are very expensive... The new proposal (N4286) instead focuses mostly on a stackless implementation, and promises to be scalable to billions of concurrent coroutines...

A quick tour of the Silicon web framework: A simple blog API in 85 C++ lines -- Matthieu Garrigues

siliconwebfx.PNGBecause clear example code is a great motivator:

A quick tour of the Silicon web framework: A simple blog API in 85 C++ lines

by Matthieu Garrigues

From the article:

In late January 2015, I released the first version of the Silicon Web Framework. The documentation covers all the concepts of the library but does not contains a concrete example covering the needs of a real world application. In this blog post, I'll show how to write a such an application with the framework. Like most modern web apps, it relies on a database to store data, and sessions to authenticate its users.

The source code of this article is hosted on the Silicon github repository: https://github.com/matt-42/silicon/blob/master/examples/blog_api.hh ...

Google releases gRPC -- Mugur Marculescu

A new open source HTTP/2 RPC Framework for C++ and other languages has been released.

Introducing gRPC, a new open source HTTP/2 RPC Framework

by Mugur Marculescu

From the article:

Today, we are open sourcing gRPC, a brand new framework for handling remote procedure calls. It’s BSD licensed, based on the recently finalized HTTP/2 standard, and enables easy creation of highly performant, scalable APIs and microservices in many popular programming languages and platforms. Internally at Google, we are starting to use gRPC to expose most of our public services through gRPC endpoints as part of our long term commitment to HTTP/2.

Boost libraries are now supported in biicode

First step to a complete integration of the C++ deps manager biicode with the most popular set of C++ libs: Boost libraries.

Boost libraries are now supported in biicode

by Manu Sánchez

From the news:

At biicode we have been working hard to simplify the process of making Boost available for any C++ programmer with just an include. But this is only the start, the project has been released as open source to allow everyone contribute and help.

Cppcheck

I wish to introduce the CppCheck tool to the beginner programmers. Cppcheck is a static analyzer for C and C++ code. It is open-source, free, cross-platform and easy-to-use.

Cppcheck

by Andrey Karpov

From the article:

One of the basic advantages of the Cppcheck analyzer is that it is easy-to-use. It is good to teach and study the static analysis methodology: for instance, you install Cppcheck on a Windows system and get a GUI interface allowing you to immediately start checking your projects.

JSON Voorhees - Killer JSON for C++--Travis Gockel

Yet another JSON library for C++:

JSON Voorhees, GitHub link

by Travis Gockel

From the article:

JSON Voorhees is a JSON library written for the C++ programmer who wants to be productive in this modern world. What does that mean? There are a ton of JSON libraries floating around touting how they are "modern" C++ and so on. But who really cares? JSON Voorhees puts the focus more on the resulting C++ than any "modern" feature set. This means the library does not skip on string encoding details like having full support for UTF-8. Are there "modern" features? Sure, but this library is not meant to be a gallery of them – a good API should get out of your way and let you work. It is hosted on GitHub and sports an Apache License, so use it anywhere you need...