Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Вопрос: Разгоняем CHR : Почти в 2 раза!
Добавлено: 08.05.05 22:08
Автор вопроса: Morpheus | Web-сайт:
Ответы
Всего ответов: 125
Номер ответа: 106
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #106
Добавлено: 12.05.05 17:03
у меня есть некоторые сомнения, насколько я знаю, данные грузятся в кэш только при чтении их из ОЗУ. Даже при записи в ОЗУ они не грузятся, т.к. не нужны в кэше, а тем более грузить их когда не происходит обращений к данным - нерационально, они ведь могут вообще не понадобиться, зачем делать лишнюю работу? Имхо, это так.
А по ссылкам, которые я кидал поленился зайти?
Быстродействие этих процессоров в значительной мере определяется их архитектурой, основанной на простой конвейерной схеме, содержащей три компоненты: шинный интерфейс (BIU - bus interface unit), очередь упереждающей выборки и исполнительный модуль (EU - execution unit). Когда шина памяти находится в нерабочем состоянии (например, прри выполнении команды из многих циклов, операнды которой находятся в регистрах), шинный интерфейс извлекает байты команд из памяти и помещает их в очередь упреждающей выборки, последовательно продвигаясь от текущего положения командного счетчика ЦП. Когда исполнительный модуль завершает исполнение очередной команды, он в первую очередь ищет следующую команду в очереди упреждающей выборки: если она там действительно имеется, то к ее расшифровке можно приступить сразу же, не обращаясь лишний раз к памяти.
Номер ответа: 107
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #107
Добавлено: 12.05.05 17:05
Соблазн может и есть, но занимает она два байта.
Если ты про Boolean, то его размер не 2, а 4 байта.
Номер ответа: 108
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #108
Добавлено: 12.05.05 17:10
Прикольно Йоёё >=] Во блин, рухнули мои надежды ни самую быструю в мире переменную
Ну, вообще...я до сих пор думал, что в си вообще нет булеана
Номер ответа: 109
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #109
Добавлено: 12.05.05 17:16
Если ты про Boolean, то его размер не 2, а 4 байта.
Да, я про него. Только не 4, а 2 байта. Т.е. 16 бит. Или ты про .NET?
Номер ответа: 110
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #110
Добавлено: 12.05.05 17:34
Нет, я про VB6, у которого длина типа Boolean равна 4-м байтам.
Номер ответа: 111
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #111
Добавлено: 12.05.05 17:40
Хотя может и 2. Надо будет дома в MSDN глянуть.
Номер ответа: 112
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #112
Добавлено: 12.05.05 17:56
Да, действительно 2
Private Sub Form_Load()
Dim a As Boolean
a = True
MsgBox a, , Len
End Sub
Номер ответа: 113
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #113
Добавлено: 12.05.05 17:58
Не трудись, у меня MSDN перед носом. Что VB6, что VB.NET - 2 байта.
Номер ответа: 114
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #114
Добавлено: 12.05.05 20:32
да это наверное для апи сделано, чтобы работали быстрее, помните типа 0 - если неудача (или ложь), ненулевой значение в случе успеха. если надо, то пусть прог-т типа сам проверит
Номер ответа: 115
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #115
Добавлено: 13.05.05 02:12
True в VB - это как правило минус единица. Но оператор If принимает любое ненулевое значение за истину. Хотя сишные функции возвращают плюс единицу как True... была здесь такая тема...
Номер ответа: 116
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #116
Добавлено: 13.05.05 04:51
а какие есь сишные функции в ВБ?
Номер ответа: 117
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #117
Добавлено: 13.05.05 10:31
lol, регистр = типизированная переменная Нет!? А можно подумать ))
Я бы так не сказал ((
Если их использовать в качестве счетчика, в отличие от Long переменной, VB для этого уже не использует регистр, а используется счетчик в памяти... в итоге после переделки примера Sharp'a я даже не смог дождаться окончания его выполнения Это говорит о многом...
Почему же, в настройках компилятора оптимизация в сторону быстродействия/размера так же неплохо работают... Пусть оно и не ах как заметно, но код действительно меняется, и действительно в сторону оптимизации.
Это не факт!
Вот именно по этой причине меня порадовал "register" в C++
Поддерживаю
Я бы на твоем месте из этого списка вычеркнул ebp, esp. Так как использовав их, ты теряешь ориентацию в стеке...
Разумеется можно их сохранить в некой обл. памяти, но если использовать компилятор masm32, и его синтаксис, адресация к "локальным" данным процедуры и параметрам переданным в процедуру через стек, производится по ebp...
Низя По сравнению с тем количеством кода что выполняется в теле цикла, использование удачных решений с нашей стороны - сводится практически к нулю...
а такие могут быть ?
Номер ответа: 118
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #118
Добавлено: 13.05.05 11:37
Операнд-Регистр имеет свои подтипы.
lol, регистр = типизированная переменная Нет!? А можно подумать ))
Ага, я обновил подверсию Local Assembler и вчера до поздна писал введение в ассемблер. Ну так вот, я тоже так разгрупировал: по видам и типам. Вид - это регистр, память или число, а тип соответственно размер (8,16,32).
Номер ответа: 119
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #119
Добавлено: 13.05.05 13:43
Забавная терминология. Я бы, на худой конец, назвал регистр, память или число типом, а 8,16,32 - разрядностью. Видам тут делать, ИМХО, нечего. Хотя, конечно, можно сказать что тип регистра - 16 разрядный, но тип регистра - 16, ИМХО, левак. Почему бы не взять термины из старых книжек?
Номер ответа: 120
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #120
Добавлено: 13.05.05 14:18
ebp и esp наверное вычеркивать не надо, надо лишь учитывать, что один из них (любой) должен остаться "дежурным по стеку".