I was profiling some code a while ago that makes extensive use of boost::variant and one of the lessons from the profiler run was that boost variants appear to be fairly expensive to construct and copy.

As of 1.53, variants support rvalue constructors and rvalue assignment operators. My initial measurements suggest that when used with types that are "move enabled", there is a benefit in upgrading to this version of boost variant, both in performance and memory consumption.

Another way to use Emacs to convert DOS/Unix line endings

I've [previously blogged]({{ site.base_url }}{% post_url 2016-12-13-converting-files-from-dos-to-unix-file-formats-using-emacs %}) about ...… Continue reading