
Working with Boost Lexical Cast library found that some casts are working really slow. For example, cast from short to int is done via cast from short to char[], and cast from char[] to int. Cast from char* to string is done via string() constructor call and string`s append function call (instead of string constructor call with char array as a parameter). So I wrote patch to Boost Lexical Cast library, that returns Target directly constructed from Source in cases, when: 1) Source and Target are arithmetics (and not char or wchar_t), and all values of Source are in range of Target 2) Source and Target are both char or both wchar_t 3) Source is array of CharT and Target is std::basic_string<CharT, ...> 4) Source and Target are std::basic_string with same template parameters It gives performance boost more than 10 times in case 1) , about 7 times in case 2), and about 1.5 times in cases 3) and 4). Existing tests for Boost Lexical Cast library cover considered cases. Patch was successfully tested on Intel 11.1.072, g++-4.4.5, VC++9 compilers. P.S.: I`m a newbie here, so where shall I send this patch? Shall I test it on other compilers?