>Там именно так тест тактов делается.
Классная идея =)
Вид для печати
>Там именно так тест тактов делается.
Классная идея =)
Главная фраза что есть процессоры по архитектуре отличные от х86. 8)
Советую почитать интеловскую документацию на 4й пень. Про конвейеры и непоследовательное выполнение команд, как работают предсказание переходов и кэш и т.д.
Компилятор в 99% случаев генерирует код НАМНОГО лучше, чем может написать программист. Просто потому, что человек не в состоянии за всеми теми хитростями уследить.
А тормозит современный софт не потому, что программисты криворуки, а потому, что слишком много уровней абстракции понаверчено ради ускорения разработки.
полностью согласен, хотел бы я посмотреть на того человека который способен писать оптимимальный код под особенности современных процов :)
скорее для упрощения кода, современные системы настолько сложны что их было бы просто невозможно создать не используя абстракцию.
Кстати по поводу числа уровней в иерархии объектов, читал что ктото проводил исследование в этом вопросе и было выведено оптимальное значение - 5-7 уровеней наследования. При большем числе уровней затраты на поддержку такой структуры становятся неоправданно высокими.
Недавно наткнулся на эмулятор спектрума на дотнете, стало интересно как реализован движок, полез смотреть и ужаснулся. Это была первая дотнет программа где я увидел метод на тысячи строк кода! :eek:
Рефлектор просто не справлялся с таким кодом! Попытка открыть метод эмуляции инструкции Z80 приводила к подвисанию на минуту. И это на i5 760 @ 3.2 ГГц! :D
Я был глубоко поражен, насколько глубокое упорным и терпеливым нужно быть чтобы писать и отлаживать такой код... Меня коробит от одной мысли о том как колбасило студию при редактировании такого кода. Суть сводилась к тому что вся эмуляция Z80 была в одном методе, представляющий собой много вложенных switch'ей. На этом исследование этого эмулятора я прекратил, т.к. понял что понять мне его не суждено :v2_dizzy_messed:
Скорость кстати была не на высоте, визуально заметно ниже чем ZXMAK2. И это несмотря на десяток мест, где я пожертвовал производительностью в угоду удобству простоте :)
Good news, everyone. Я, наконец, снова собрал xpeccy под win32. Правда, опять же с mingw - при сборке в qtcreator'е с 2008й студией оно начинало ругаться даже на родные заголовки (winnt.h, например).
Архив со всеми dll-ками (6.9Мб) - http://rghost.ru/32238821
Звука, как водится, нет - даже через sdl не заработал...
PS: А вы тут оффтопа развели...
См. время создания этих библиотек. А также нашумевший прецендент, когда переписанный на С алгоритм шифрования работал быстрее ассемблерного аналога.
Надо установить переменные окружения. Ищи батник vcvars или чтото в этом роде в папках со студией.
А в чем проблема? У меня через mingw прекрасно работает виндовый и sdl вывод звука.
Он их находит, но ругается на содержимое - сразу высыпается до сотни warning'ов. И, я так понял, что-то с именем BDI у него уже где-то есть...
Win7 через SDL звук не играл, вместо щелчка при нажатии кнопки словно буфер зацикливало - начинало трещать. В WinXP в виртуалке звук даже не открывался - эмуль падал.
Если честно, особо со звуком не сидел, на сегодня целью было просто собрать и запустить.
Лог сборки с VC2008.
Вроде, сделал всё правильно - командная строка с окружением студии, перехожу в xpeccy/build, cmake .. (без ошибок), nmake. Последний выплюнул в stdout то, что в логе. Был один момент - stdint.h не нашелся, я его сам сделал typedef'ами с [un]signed {char|short|int} на [u]int{8|16|32}_t
А, ещё окружение:mingw меня больше любит - даже не пищит при сборке.Код:echo %PATH%
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;
C:\WINDOWS\Microsoft.NET\Framework\v3.5;
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;
C:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;
C:\WINDOWS\system32;
C:\WINDOWS;
C:\WINDOWS\System32\Wbem;
D:\Qt\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin\;
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\;
F:\developement\lib\
echo %INCLUDE%
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE;
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include;
F:\developement\include\;
F:\developement\include\SDL\