Re: Можно ли тащить в драйвер обычные linkedlist'ы на Си или юза
От: okman Беларусь https://searchinform.ru/
Дата: 22.09.18 05:05
Оценка:
Здравствуйте, LimyKurn, Вы писали:

LK> ...

LM> Но разве что-то может быть быстрее, чем твоя собственная реализация linkedlist'а

На мой взгляд, в этом нет никакого практического смысла.

Списки "Singly and Doubly Linked Lists" (interlocked list пока не рассматриваем) — это и так C-шные
структуры, где вставка, удаление и т.п. реализовано самым простейшим и естественным образом.
Вот, например, как выглядит вставка:
FORCEINLINE
VOID
PushEntryList(
    __inout PSINGLE_LIST_ENTRY ListHead,
    __inout __drv_aliasesMem PSINGLE_LIST_ENTRY Entry
    )
{
    Entry->Next = ListHead->Next;
    ListHead->Next = Entry;
}

Уверен, что здесь есть куда оптимизировать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.