169 похожих чатов

Какой из двух лучше, как думаете? https://gist.github.com/disba1ancer/481bf89c7ecbf26efede74c8eceedf0c Entusiast @laurson @s54816

21 ответов

19 просмотров

Ориентировка на процессоры какая?

disba1ancer- Автор вопроса
Entusiast
Ориентировка на процессоры какая?

я мерил под своим (Sandy Bridge) у обоих производительность примерно одинакова, но хз под какой проц хочу, мне это нужно для работы без ОСи

Мне кажется, или ты просто поменял код местами

disba1ancer
кого?

Алгоритм одинаковый, просто поменял местами фрагменты

disba1ancer- Автор вопроса
Entusiast
Мне кажется, или ты просто поменял код местами

первая, это тот вариант что я получил вчера, вторая её модификация

Почему бы тебе не использовать оегистры размером побольше чем 32? Для кого придумали всякие там sse?

Aleksandr
Почему бы тебе не использовать оегистры размером п...

У него не инициализирован SSE Он пишет для своей ОС

disba1ancer- Автор вопроса
Entusiast
Алгоритм одинаковый, просто поменял местами фрагме...

нет не одинаковый, первая заполняет в конце и в начале чтобы осталась только область выровненная на 4 потом rep stos, второй работает иначе, сначала выравнивает в начале, затем rep stos, затем заполняет не выровненный остаток

disba1ancer- Автор вопроса
disba1ancer- Автор вопроса
Aleksandr
Дак в чем проблема инициализировать?

у меня ещё не совсем ОС, и не инициализированно нихрена, даже прерывания и я не собираюсь их инициализировать ибо биосу это не понравится, а он мне будет нужен, чтобы загрузить нормальный ELF

disba1ancer
где ответ?

Да они одинаковы. Но вот у меня подозрения насчёт остановки регистров. Да и выполнятся всё будет, зависимо от значений регистров. Комбинировал бы ты как-то, но я в код не углублялся И с остановкой регистров до конца не разобрал, дела появились

disba1ancer- Автор вопроса
disba1ancer
что за остановка регистров?

Когда много регистров (от 2) не записываются, а только читаются. Но это критично, в частности, для Core2 В цикле это, естественно

disba1ancer
и чем это плохо/хорошо?

Плохо, каждый раз при такой остановке идёт задержка в 5 тактов: ; Example 8.1a. Register read stall on Core2 L: mov eax, [esi+ecx] mov [edi+ecx], ebx add ecx, 4 js L В данном случае - регистры ESI и EDI делают остановку Чинится так: ; Example 8.1b. Register read stall removed L: mov eax, [ecx+esi*1] mov [ecx+edi*1], ebx add ecx, 4 js L Но опять же, я так и не просмотрел, относится ли это к твоему коду. Просто подозрение

disba1ancer- Автор вопроса
Entusiast
Плохо, каждый раз при такой остановке идёт задержк...

у меня только в районе rep цикл, остальное исполняется строго по направлению вперёд

disba1ancer- Автор вопроса
Entusiast
Плохо, каждый раз при такой остановке идёт задержк...

я для тебя добавил в гист третий вариант, такой же как и второй, но без имён регистров

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта