C++ Actor Framework v0.17.0 Release Notes
Release Date: 2019-07-27 // over 4 years ago-
- Parallelize deserialization of messages received over the network (#821).
Moving the deserialization out of the I/O loop significantly increases
๐ performance. In our benchmark, CAF now handles twice as many messages per
second. - โ Add marker to make categories optional on the CLI: Categories are great at
organizing program options. However, on the CLI they get in the way quickly.
This change allows developers to prefix category names with ? to make it
optional on the CLI. - ๐ Fix performance of thread-safe actor clock (#849). This clock type is used
whenever sending requests, delayed messages, receive timeouts etc. CAF can
๐ handle about 10x more timeouts per second after the patch. ๐ Relax ini syntax for maps by making
=
for defining maps and,
for
separating key-value pairs optional. For example, this change allows to
rewrite an entry like this:logger = { console-verbosity='trace', console='colored'}
to a slightly less noisy version such as this:
logger { console-verbosity='trace'console='colored'}
- ๐ Allow apps to always use the
caf::logger
, whether or not CAF was compiled
๐ฒ with logging enabled. - ๐ Fix over- and underflow checks in number parser (#852).
- ๐ Fix multicast address detection in
caf::ipv4_address.cpp
(#853). - ๐ Fix disconnect issue / WSAGetLastError usage on Windows (#846).
- ๐ Fix
--config-file
option (#841). - ๐ Fix parsing of CLI arguments for strings and atom values.
- โ Add conversion from
nullptr
to intrusive and COW pointer types. - ๐ Streamline direct node-to-node communication and support multiple app
identifiers. - Reimplement
binary_serializer
andbinary_deserializer
without STL-style
๐ stream buffers for better performance. - ๐ Support move-only behavior functions.
- ๐ Allow users to omit
global
in config files. - ๐ Allow IPO on GCC/Clang (#824).
- Parallelize deserialization of messages received over the network (#821).