[ASIO] Compilation improvements of 1.43 (well done)

Hello, In release notes of 1.43.0 version of Boost.Asio I had noticed improvements in compilation times and executable size. I must admit: WELL DONE!!! I'm in process of replacement of Boost.Asio event loop with my own that has very similar API but uses templates only where they absolutely necessary. I did some comparisons of my CppCMS library that implements with Asio. - HTTP server (tcp), - SCGI-server (tcp+unix-sockets), - FCGI-server (tcp+unix-sockets). - Memcached-like blocking-client and non-blocking server (TCP). Compiled with g++-4.3.2, on Debian, amd64, Linux 2.6.26 ------------------------------------------------------- Library size (after strip -s): ------------------------------ Boost.Asio 1.41.0 - 3,527,856 Boost.Asio 1.43.0 - 3,003,504 My AIO - 2,607,848 (2,455,344 cppcms-lib + 152,504 aio-lib). Moving from 1.41 to 1.43 reduced library by 0.5mb and this is huge difference However replacing Asio with my AIO (that hides almost everything behind pimpl) reduced additional 0.4mb Compilation times: HTTP-Server (tcp) 1.41.0 - 12.87s 1.43.0 - 7.45s my-aio - 4.30s SCGI-Server (tcp&unix) note Asio requires template based implementation as Unix socket class is different from tcp/ip ones so code almost can't be shared. My-AIO has same class so the code is not template based 1.41.0 - 14.31s 1.43.0 - 7.12s my-aio - 2.55s Again - huge difference: moving from 1.41 to 1.43 reduces time by half, but my-aio gives even better improvements. ---------------------------------------------- My Notes: 1. I'm really interested what had been done to give such huge improvements from 1.41 to 1.43? 2. Maybe it is wide to consider making Asio compiled library rather then header-only one? Artyom ------------ P.S.: I replace ASIO with my own library for several reasons not connected to quality of this specific library (it is great) but rather with issues I have with Boost and it's design. Also my library influenced by boost.asio API so rewriting was almost as simple as running several "sed" scripts over the source code.

On Sat, 08 May 2010 10:59:01 +0200, Artyom <artyomtnk@yahoo.com> wrote:
[...]1. I'm really interested what had been done to give such huge improvements from 1.41 to 1.43?
Here's a list of most important changes: <http://article.gmane.org/gmane.comp.lib.boost.asio.user/3870/> Boris
participants (2)
-
Artyom
-
Boris Schaeling