Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2018, 23:04   #11
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от 7in Посмотреть сообщение
Вопрос в том, насколько оно опережающее?
Есть результаты тестов каких-то на эту тему?
А как замеришь? Вот по косвенным признакам у меня отрицательные числа свидетельствуют о том что опережение есть.

Цитата:
Сообщение от 7in Посмотреть сообщение
Может, но не факт, что избавится. Хотя такт всё равно съест – это да
1 - так на 64 байта. Это мало

Пока тестировал 1 prefetch на каждый байт. Завтра сделаю так что-бы 1 - prefetch на 64 байта.
Изображения
Тип файла: png 2018-04-24_22-57-03.png (33.7 Кб, 45 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 24.04.2018 в 23:09.
Pavia вне форума Ответить с цитированием
Старый 25.04.2018, 00:12   #12
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

Pavia, честно говоря, не понимаю, что тут вообще изображено на графиках. И что замерялось (и как)

Цитата:
Сообщение от Pavia Посмотреть сообщение
Пока тестировал 1 prefetch на каждый байт.
А смысл на каждый байт делать?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 25.04.2018, 06:08   #13
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

7in
Как бы я первым спросил как измерить?

Измерялась скорость доступа к памяти для различных размеров массивов.
Под доступом понимается чтение. Для того что-бы оптимизатор ничего не на оптимизировал шло не просто чтение но и вычисление индекса плюс суммирование. Из результата вычитались задержки на цикл и вычисления индекса. Всё это гонялось в цикле несколько раз что-бы исключить случайные ошибки. Код привязан к 1 ядру.

Индекс в массиве вычислялся по 4 алгоритмам:
Синий - линейный
Зелёный - инвертированый порядок бит.
Жёлтый - рендом.
Красный - частично рендом частично линейный.

На графике время доступа. У прифетча время просто прибавлено.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 25.04.2018, 07:45   #14
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

Ну вот мы видим, что с prefetch'ем код работает почти в 2 раза быстрее.
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 25.04.2018, 22:55   #15
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от 7in Посмотреть сообщение
Ну вот мы видим, что с prefetch'ем код работает почти в 2 раза быстрее.
Оказывается что нет вчера работал турбо буст сегодня перемерил код с preftch в среднем на 2% медленнее.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 25.04.2018 в 23:03.
Pavia вне форума Ответить с цитированием
Старый 26.04.2018, 19:20   #16
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

Лол!
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 13.05.2018, 22:19   #17
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

нашёл здесь материал о prefetch - можно почитать на досуге:
http://rus-linux.net/lib.php?name=/M...emory-6-6.html
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команды ассемблера JoBl Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 25.05.2012 13:13
Assembler, tasm цепочечные команды для работы с строками D9bolic Помощь студентам 2 12.05.2012 13:24
эмулятор(имитатор) работы процессора fantaYKT Помощь студентам 4 10.05.2012 21:32
Самый быстрый режим работы процессора Tronix Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 32 29.07.2011 21:01
Команды работы с файлами. Язык Borland C++ 3.1 Демик Помощь студентам 16 31.01.2011 16:44