cresta А я бы еще и lpTable разместил в одном блоке памяти lpMemory = VirtuallAlloc вслед за строками (ес-но с выравниваем адреса) и в одном...
cresta > "Строки разделены последовательностью 0D0A" В таком случае не обязательно в while использовать двойное условие ;) Обычно при...
Ustus > "А вот еще неясное место" Просто неточное, т.к. в другом месте (Chapter 4) сказано четко: "VectorPath instructions block the decoding...
IceStudent > "Практически: ..." Интересно, а вот дельфям по барабану чего к чему приводить - лишь бы размер совпадал
Udzhen > "неприятно, что при каждом вызове функции происходят лишние вычисления" Ну во-первых, ничего страшного в этом нет. Во-вторых, ты сам...
q_q,IceStudent Я вам про Фому, а вы мне про Ерему ;)) X+j == X+j*sizeof(*X) справедливо когда выражение X является указателем В...
> "Сколько максимум можно выделить HeapAlloc" В win 9х MSDN рекомендует не более 1-2Mb (иначе significant performance degradation), если нужно...
Ustus Подробностей я не знаю. Но очевидно, что смысл predecode состоит именно в предварительной разметке границ инструкций, определении...
Udzhen Да, правильно. В целом код рабочий, только нужно уточнить синтаксис - может для гарантии использовать offset pointer, offset...
q_q Хоть я в сях и профан, но ИМХО (int)lpText+j это просто число равное адресу lpText смещенному на j байт, и уж затем это число\адрес...
Что значит - "просто" ? Просто заменил и все стало нормально ?
Udzhen Дык в чем проблема-то. Абсолютный адрес в некоторой точке @1 определяется как заметил IceStudent классическим методом через call @1; @1:...
Может виндовые прибамбасы с locale или юникодом при использовании стилей CBS_SORT или CBS_LOWERCASE\UPPERCASE ?
Оптимальный размер блока для чтения больших файлов как с кэшированием так и без ~16-64Кб. При обычном последовательном чтении с кэшированием можно...
Размер T-кэша измеряется не в байтах, а в микрооперациях (мопах) - 12К мопов, объединенных в блоки по 6 мопов. Мопы и байты исходного кода...
Ustus А ты лучше AMD Athlon™ Processor x86 Code Optimization Guide (22007.pdf) посмотри 1) Chapter 4: Instruction Decoding Optimizations...
Ustus Возможно потому, что в P6 для декодирования считывается два последовательных блока по 16 байт (double buffer 32 байта). А вот в AMD буфер...
bers 80 тактов на 100 мувов - это ты загнул ;) У меня на P4 с rep stоsd лучше 200 тиков чего-то никак не выходит. А вот хуже (более 300)...
locki Разворот в основном используется для уменьшения относительного вклада операций управления циклом (декремент счетчика и переход) в общее...
bers > "зависимость по "операндам\портам\исп.блокам" абсолютно одинакова" Зависмимость конечно не одинаковая, но если все аккуратно расписать,...
Имена участников (разделяйте запятой).