Здравствуйте, уважаемые. Помогите, пожалуйста. Я никак не въеду. Дело в том что я всю жизнь считал что, скорость выполнения приложений тем выше чем старше операционка. Всем понятно что DOS самая быстрая т.к. однозадачная, а винда 98-я гораздо шустрее 2000-й и xp. Но вот как раз с виндами и проблема. Мой опыт показывает, что приложения требующее серьезных затрат железа лучше запускать в 98-й, естественно если она обеспечивает все сервисы. И вот я решил подойти к этой проблеме более серьезно и выяснил, что я для себя открыл новый парадокс. Написал короткую прогу на masm-e которая все время инкрементирует ячейку памяти если нет сообщений для окна. И через 1000 тиков GetTickCount (1 сек) выдает результат в окно ну еще и средний показывает. Так вот на одной и той же машине но в разных операционках результат отличается аж в 10-12 раз (я проверял на многих машинах) в пользу NT клонов (w2k и хр). И вот где же логика? По моему 10-12 раз это уж чересчур много, а еще и в пользу NT. В GetTickCoun сомневаться не приходится проверял, так что 1 тик - 1 милисекунда это точно. Так вот вопросы: 1.Возможен ли такой перепад скоростей и где зарыта собака,неужели во столько раз различается время выделенное для процесса. 2. Как заставить приложения в w2k и xp 'работать' быстрее (галочку напротив оптимизации скорости приложений поставил) ?
скорость выполнения приложений тем выше чем старше операционка. Всем понятно что DOS самая быстрая т.к. однозадачная Так однозначно говорить нельзя.
for volodya Я не пойму, тут что словесными перепалками занимаются? По моему вопрос более чем ясен. Это результат организации многозадачности и время работы ядра. Мне интересно что дает преимущество 98й, почему не тормозят программы в ней а в W2K тормозят.
Забавный у тебя тест на производительность. >>(галочку напротив оптимизации скорости приложений поставил) ? Мля, вот оно что! Найду галку и щастья-то будет!
почему не тормозят программы в ней а в W2K тормозят. Мдя... Впечатляет... А ты когда-нибудь задумывался о словах "безопасность", "многозадачность" и т.п., а? Только не надо мне свистеть, что ты все это знаешь. Знал бы - предложения выше бы в истории этого форума не было бы! А так, хочешь быть самым быстрым - пиши свою ось сам. Сам переводись в защищенный режим. Всякую херь типа колец посылай в болото, сиди только в нуле. Пиши единственное приложение - тоже в нуле. И пусть у тебя все будет посвящено исключительно задачам приложения - вот тогда все будет быстро. А если ты говоришь об "операционной системе" которая должна что-то операционить, то иди, и в самом деле, читай Танненбаума!
Гм, я б не стал утверждать, что мастдай быстее, чем тот же 2к. Если речь не идёт, конечно, о 32 Mb памяти =). Отключите лишние сарвисы и прочую лабуду..
IMHO всё просто. Все современные процы проектируются для защищённого режима. И полная функциональность раскрывается именно в нём. (поэтому DOS уже дааавно отдыхает. Он нужен (иногда) для систем реального времени. Но и то в них лучше юзать QNX) NT серия всегда была быстрее 9x в "не графических приложениях". Отсюда и выводы.
В GetTickCoun сомневаться не приходится Что-то мне кажется, что не очень аккуратно проведен опыт. В 98-ой TickCount инкрементируется системным таймерным обработчиком достаточно рвано, и частота примерно 600 мкс.
Погрешность видна и на более больших интервалах. Если найти хорошую задачу - обработка битмапа или большие вычисления, то разница составляет секунды/минуты/часы
Огромное спасибо всем за участие. For Chingachguk Знаешь, сомнения были и у меня, недаром полез проверять. Так вот секундная синхронизация вывода новых данных с часами не сорвалась в течении трех минут, а это 3*60*1000 тиков. При твоем утверждении разница должна была бы составить 72 секундных тика (3*60*1000*400мкс либо 40% от 180 с). For Zero Ice Тебе отдельная благодарность. Твоя правда. Скорее всего NT действительно быстрее если речь не заходит о графике, но опять это если. И разница действительно очевидная. Именно NT рвет музыку WINAMP'a при работе визуализатора MilkDrop, эффект чувствуется даже на атлоне XP2000+ GF4MX. Хотя что такое MP3 для такого процессора. И где кроется причина непонятно. For volodya Приятный собеседник .
> IMHO это предубеждение со времён NT 3.51. Вообще, как их сравнивать? В мастдае GUI 16разрядное наполовину и глючное из-за чего система не может работать продолжительное количество времени. Попробуйте CreatePen 20000 раз. Другое дело, что устанавливать NT у нас порой не могут, например разделы FAT по 60 Mb используют. Или хуже FAT+NTFS. Или ещё хуже FAT, а потом конвертируют в NTFS. Вот примитивный тест скорости работы памяти, сравните мастдай и NT.
melnik_sergey А с чего бы ей срываться то )) Секундная она итак не сорвется ибо в МСДНе английским по белому написано "...the number of milliseconds...". А ты попробуй-ка подряд запустить без задержек всяких вывод GetTickCount() на экран например и посмотри какими шагами будет изменяться циферка... (и под НТ и под 9х) PS: я не утверждаю что под 9х она будет скачками меняться.. но кто знает..
2S_T_A_S_ Сравнивать можно (и нужно ) всё. Даже хаббл с запором. Я все тесты провожу на 98SE/XP. Падение скорости связанное с графикой объясняется довольно просто - графика в 9x родная, встроенная в ядро. В NT линейке ядро вообще не содержит графики (никакой поддержки!) (серверная ОС...). Да, потом MS прилепила граф ядро и был написан драйвер. НО кол-во переходов до драйвера ооооочень большое. За счёт этого скорость падает. Щазззз меня убъют линуксойды - "монолитность рулеззз, т.к. скорость."
Я извиняюсь если это уже кто-то из вас написал, но имхо, по чистой теории win2000 мастдай спроектирован изходя из опыта построения 98 и старой нт, и ядро у него соответственно покруче получилось. Даже если сравнивать не тем способом который предложили вы (ибо споры насчет погрешности), то nt 5.0 однозначно будет уделовать 98 и старую нт по произоводительности, потому что там, насколько мне известно, реализован хитрейщий механизм распределения ресурсов выполняющемуся приложению (немного искл. сервер версия). Да и наворотов и оптимизаций для гуи и прочего там хватает, чтобы этим всем объяснить почему нт работает быстрее старых версий. В данном случае это "новое" лучше старого в этом плане.
NoName Я согласен, что графика там, действительно быстрее и счетные приложения идут быстрее, чем на 98-м. Но вот что касается любых комплексных действий : графика+файлы+счет, то 2000-й проигрывает. Да и по поводу графики у меня есть подозрение, что просто менюшки и окна быстрее "выезжают" и "раскрываются", что и создает эффект быстроты. Мне пришлось запускать Вин 3.11 на Пентиуме-2 и я был поражен - окна летали со "скоростью пули". Ни 98-й, ни 2000-й так не могли и не могут до сих пор, ни на П-3, ни на П-4. Драйвер в ВИН 3.11 кстати был родной под простенькую карточку 128 ZX( одна из первых от NVidia). Но что будет с Вин 3.11 если там запустить несколько приложений в параллель ?! Нельзя сравнивать и 98-й с 2000-м просто так : в 2000-м крутится в 3 раза больше процессов, чем в 98-м. Вы их запустите в 98-м и сравните ?! Или остановите в 2000-м.
Zero Ice > afaik, не родная, а частично позаимствованная из win16 > Ну я же написал, что не про NT 3.51 говорю. Что по вашему такое win32k.sys? > Для начало нужно определиться с критериями сравнения. А если просто "ля-ля" - возьмите спектрум+TR-DOS - загружается мгновенно (!), ибо "ОС" в ПЗУ %)