Suggestion of fixing folly::to<std::string>(double/float) performance issue
Suggestion of fixing folly::to<std::string>(double/float) performance issue

Summary:
When calling folly::to<SomeString>(double), generic implementation will
firstly reserve 24 (or 25 when negative value) bytes. This will introduce
a malloc call for most of mainstream string implementation.

But for most cases, a floating point doesn't need 24 (or 25) bytes to
be converted as a string.

This diff try to introduce a special version which does not do string reserve.

Reviewed By: ericniebler

Differential Revision: D3728171

fbshipit-source-id: d70ead396ad6c8d0df1f542c5516f7534e82cb97

charsyam/folly,facebook/folly,charsyam/folly,floxard/folly,Orvid/folly,facebook/folly,rklabs/folly,rklabs/folly,floxard/folly,charsyam/folly,Orvid/folly,Orvid/folly,rklabs/folly,facebook/folly,Orvid/folly,floxard/folly,floxard/folly,floxard/folly,facebook/folly,rklabs/folly,Orvid/folly,facebook/folly,rklabs/folly,charsyam/folly