Здравствуйте, balearic chill, Вы писали:
BC>Пишу программы по обработке данных,
BC>данных — сотни гигов, перемалывать нужно очень быстро, потоковая скорость должна быть 10MB/sec, а лучше еще больше.
BC>Не могу достичь нормальной скорости из-за crt-шных функций типа sprintf/sscanf и т.п.
BC>Работать нужно с double:
BC>sprintf(stroke, "%.2lf %.2lf %.2lf ...", ...);
BC>sscanf можно заменить atof-ом: он быстрее на 20%, но это не сильно помогает.
BC>Переписал частично sscanf/sprintf числодробилками — получил прирост скорости в два раза, но все равно в итоге
BC>около 5.5 MB/sec получается — мало
BC>Подскажите пожалуйста какие функции лучше использовать, если не трудно, то с примерами кода.
Попробуйте написать конечный автомат. Это самый быстрый способ перевода. Если уж совсем критично — реализовать автомат на ассемблере — ничего быстрее в принципе не может быть. Единственное улучшение может получится, если использовать какую-нить специфику чисел. Есть специфика?