реклама на сайте
подробности

 
 
> Оптимизация LwIP
Veg@
сообщение Feb 26 2010, 19:24
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 16-09-09
Пользователь №: 52 416



Код
    struct pbuf *q, *pq;
    char* ptr;
    . . .
    ptr = pq->payload;
    for(q = p; q != NULL; q = q->next) {
        memcpy(ptr, q->payload, q->len);
        ptr += q->len;
    }
    . . .

Данный код используется в LwIP для расположения содержимого буферов в памяти последовательно. На его выполнение затрачивается почти половина всего времени отправки UDP-пакета (0.14мс / 0.31мс). Для каждого пакета по 1484Б происходит две итерации.
Возможно ли ускорить это действие (DMA) или как-нибудь обойти (например, заранее располагая буферы в памяти в нужном порядке) ? Спасибо.
Железо: DK-NIOS-2S60N (StratixII), стандартная сборка Nios - Full featured.

Сообщение отредактировал Veg@ - Feb 26 2010, 19:33
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Feb 27 2010, 23:55
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



А что автор так уперся в оптимизацию цикла for(...)? Это что, самое узкое место в его проекте?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Veg@   Оптимизация LwIP   Feb 26 2010, 19:24
- - sergeeff   Почитайте здесь : http://old.nabble.com/Tunning-TC...   Feb 26 2010, 22:43
- - Veg@   Цитата(sergeeff @ Feb 27 2010, 01:43) Поч...   Feb 27 2010, 09:57
- - sergeeff   А что не понятно? Если ваш UDP пакет уходит за две...   Feb 27 2010, 10:26
- - Veg@   Цитата(sergeeff @ Feb 27 2010, 13:26) А ч...   Feb 27 2010, 12:14
|- - sergeeff   Цитата(Veg@ @ Feb 27 2010, 15:14) Размер ...   Feb 27 2010, 12:52
- - Veg@   Функция memcpy выполняется довольно медленно, поэт...   Feb 27 2010, 15:50
- - vadimuzzz   код memcpy доступен, идет в стандартной поставке. ...   Feb 27 2010, 17:31
- - Veg@   Цитатаесли все равно медленно - тогда DMA Т.е. с D...   Feb 27 2010, 19:22
|- - dspx   Цитата(Veg@ @ Feb 27 2010, 22:22) Т.е. с ...   Feb 27 2010, 19:48
|- - vadimuzzz   Цитата(Veg@ @ Feb 28 2010, 01:22) Т.е. с ...   Feb 28 2010, 03:00
|- - sergeeff   Цитата(vadimuzzz @ Feb 28 2010, 06:00) ус...   Feb 28 2010, 10:08
- - Veg@   Цитата(sergeeff @ Feb 28 2010, 02:55) А ч...   Feb 28 2010, 10:21
- - Veg@   ЦитатаНа самом деле топикстартер ничего не показал...   Feb 28 2010, 20:35
- - sergeeff   Вы запустите какой-нибудь обмен по UDP с компьютер...   Feb 28 2010, 23:22
- - Veg@   Цитата(sergeeff @ Mar 1 2010, 02:22) Вы з...   Mar 4 2010, 18:47


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016