1 | ||||||
Prefetching (или как сократить количество кэш-мисов)24.02.2012, 18:21. Показов 2579. Ответов 2
Метки нет (Все метки)
Привет!
Работаю с большим объемом данных, доступ к которым осуществляется непоследовательно. Думаю как сократить время работы алгоритма, замерил количество кэш-мисов - очень высокое. Чтоб сократить его решил сделать префетчинг данных, т.е. пока считаются некоторые данные, в это время данные, которые скоро понадобятся, подкачиваются в кэш. В сишном коде сделал такую вставку:
Скажите, что я делаю не так?
0
|
24.02.2012, 18:21 | |
Ответы с готовыми решениями:
2
Как сократить UUID или String до (<=)16 символов? Можно это как-то сократить или заменить оператор? Compile error: Procedure too large, или как сократить макрос Написать матрицу через цикл или как сократить код |
4174 / 1824 / 218
Регистрация: 06.10.2010
Сообщений: 4,111
|
||||||
24.02.2012, 19:01 | 2 | |||||
Попробуй prefetchnta
На таком простеньком цикле даёт выигрыш 5%
Там же предлагается формула дистанция выборки = 200*(DS/C)
1
|
25.02.2012, 08:48 [ТС] | 3 |
murderer, спасибо! Попробую к сожалению уже только завтра, обязательно отпишусь.
Добавлено через 13 часов 14 минут Не, кэш-мисов меньше не стало, при чем порой наоборот даже больше. Попробовал разные дистанции и команды для префетча (prefetchnta, prefetcht0 - prefetcht2). У меня уже складывается ощущение, что префетч и кэш-мисы вообще ни как не связаны, судя по тому, что я вижу.
0
|
25.02.2012, 08:48 | |
25.02.2012, 08:48 | |
Помогаю со студенческими работами здесь
3
Как лучше спроектировать фильтр и сократить количество запросов к базе? Что такое "кэш" в android? Как можно программно сохранить что-то в кэш? Добавление в сессию, локальное хранилище или кэш Выбор процессора для 1с сервера. (частота, кэш, или ядра) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |