ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
705825 Топик полностью
Ксения (15.10.2016 00:34 - 00:43, просмотров: 170) ответил Экспериментатор на Я примерно такого и ожидал. Возможно, там Вин10 заоптимизирована по питанию, надо в контрольной панели, настройках питания включить максимум перфоманс. На передачу коротких пакетов через ком порт это очень сильно влияет по моим измерениям. Винда
Вообще-то исследование скоростных характеристик ОС скорее интересуют вас, чем меня. Меня же вполне устраивает то, что переход на инструкции AVX/AVX2 учетверяет производительность float-арифметики. А если процесс тормозит операционная система, то тормозит она в ОДИНАКОВОЙ степени любой алгоритм, каким бы он ни был. Например, если переход с одной ОС на другую замедляет алгоритм на 20%, то алгоритм на инструкциях AVX/AVX2 также замедлится примерно на те же 20%. А стало быть, я все равно получу свое учетверение скорости, пусть и от чуть меньшей базы. Короче говоря, расхождения в скорости выполнения, обусловленные особенностями используемой операционной системы, обычно не превышают 20%. Причем, это расхождение примерно того же порядка, как влияние числа активных задач. Скажем, войдя в консольный Save Mode, когда большинство драйверов отключены, выигрыш в скорости может достигать 25%. Между тем, как учетверение производительности соответствует 400%, по сравнению с которыми те 20%, которые может зажилить операционка, кажутся ерундой. Согласно документации, операция умножения с накоплением выполняется на процессоре моего поколения (Sandy Bridge) за 1 такт (без загрузки множителя из памяти) или за 2 такта (когда один из сомножителей одновременно достается из памяти). При этом AVX2 инструкция ровно за это же время делает не одну, а целых 4 таких операций на double64 или 8 операцией на float32. Причем, достаточно очевидно, что прирост в скорости происходит именно по этой причине, а вовсе не потому, что экономия питания сильнее ударят по одним инструкциям, чем по другим. Вообще-то то, что я в этой теме пропагандирую, - предельно примитивно. Ведь каждый из нас писал на микроконтроллерах гораздо более сложные программы, а здесь всего лишь цикл из 4-5 команд. Заметьте, что ни на какие глобальные трудно разрешимые проблемы я сейчас совершенно не замахиваюсь. И даже более того - не хочу, чтобы задачу такого рода даже ассоциировали с 64-разрядностью, операционными системами и чем-то в том же роде. Т.е., если что-то можно ускорить простыми средствами, то надо этим пользоваться, а не ждать, когда добрые дяди о всех нас позаботятся - типа напишут компилятор, который сам собой будет все знать, уметь и все делать наилучшим образом.