id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 8994,Design complexity prevents compiler optimizations,Andrey Semashev,Thomas Heller,"While debugging my application I discovered that the compiler (gcc 4.6 with -O3) fails to optimize even the simplest Boost.Phoenix v3 expressions. For example, the following function object: {{{ phoenix::bind(&media_session::set_local_description, &session(), boost::cref(sdp)) }}} when invoked, generates 7 (seven) nested operator()/eval calls before actually reaching the media_session::set_local_description method. This doesn't take into account any other possible overhead that I'm not seeing in the stack backtrace. Changing phoenix::bind to boost::bind reduces this backtrace to only 3 operator() calls before media_session::set_local_description is reached. Please, simplify the library to improve its efficiency. As a side note, the complicated design of the library also increases compile times and possibly resulting binary sizes (I haven't done any research on the latter, but I was suggested that in ticket #8820). ",Bugs,closed,To Be Determined,phoenix,Boost 1.53.0,Problem,worksforme,,