Вместо введения
Представим ситуацию.
- Написали код алгоритма. Оказался медленный.
- Посидели, подумали, перестроили алгоритмы расчета. Ускорился. Мало.
- Применили мета программирование в сложных расчетах. Получше.
- Посидели, по профилировали, нашли узкие места в коде. Ускорили. Уже ничего.
- Применили разные модели распараллеливания кода. Сервисные функции закинули в одно ядро, расчеты раскинули по ядрам. Сидим греем камень. Получше.
- Максимум попытались убрать места, чтобы код не обращался в ОС
В общем что дальше? Дальше ищем прирост в железе. Вроде логично. Про бытовые моменты писать не буду, процессор там погнать или еще чего. Затрону специфичное оборудование.
Сетевой уровень.
Упрощенно схематично, данные с биржи можно получать примерно по такой схеме
Для обычного разработчика тут достаточно много черного ящика. Мол, мое приложение получает данные, а что там и как там происходит, мне не подвластно и закрыто. По запросам западных алготрейдеров, производители пошли на встречу и разработали такое сетевое оборудование, которое такую схему превращает в следующую:
(
Читать дальше )