Input and output of floating point involves a decent amount of bigint math to do correctly. It's not surprising to me that it is slow -- doing it quickly is still an active area of research.
Writing a bit about that is still on my todo list.
Writing a bit about that is still on my todo list.
http://dl.acm.org/citation.cfm?id=1806623
The title is play on "Printing floating-point numbers quickly and accurately (1996)", which in turn is play on "How to print floating-point numbers accurately (1990)".
http://dl.acm.org/citation.cfm?id=231397 http://dl.acm.org/citation.cfm?id=93559
Rust implementation is heavily commented with beautiful ASCII diagrams.