Convertendo double para char * em C ++ com alto desempenho

Meu aplicativo precisa converter valores duplos para char * para gravar em um pipe que aceite apenas caracteres. As formas usuais de fazer isso são usando osprintf () função ou usandoostringstream do arquivo de cabeçalho iomanip.h.

Acontece que ambos têm um desempenho muito ruim. E meu aplicativo precisa fazer essa conversão com tanta frequência que se torna o principal gargalo.

Existe alguma outra função que eu possa usar? Que lógica posso usar para escrever uma função de conversão eficiente? A única coisa que consegui fazer até agora é obter cada dígito individual usando operações de divisão e modificação e anexar esses dígitos a um caractere * para obter todo o valor duplo. Isso não parece uma boa abordagem, e provavelmente terá um desempenho ruim.

Agradecemos antecipadamente por seus pensamentos.

EDIT: Há alguma confusão sobre como o char * será usado. O char * será um argumento para a função fwrite que grava em um pipe.

questionAnswers(8)

yourAnswerToTheQuestion