Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2013, 21:29   #1
assume
Новичок
Джуниор
 
Регистрация: 08.01.2013
Сообщений: 2
По умолчанию Скорость работы программ в DOS

Отчего ещё, кроме скорости процессора зависит скорость работы программ в DOS? Почему некоторые программы работают одинаково на всех процессорах, а скорость работы других зависит от скорости процессора? Как написать программу одинаково работающую на всех процессорах?
assume вне форума Ответить с цитированием
Старый 25.01.2013, 21:38   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Наверное потому что одни содержат много циклических вычислений, а другие больше ожидают от пользователя ввода.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.02.2013, 13:29   #3
Alchemic
Пользователь
 
Регистрация: 16.02.2013
Сообщений: 53
По умолчанию

Цитата:
Как написать программу одинаково работающую на всех процессорах?
Совсем одинаково не получится. Но кое-что сделать можно. Например, для организации задержек использовать не циклы бесполезных вычислений, а значения таймера или часов.
Alchemic вне форума Ответить с цитированием
Старый 17.02.2013, 16:33   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от assume Посмотреть сообщение
Отчего ещё, кроме скорости процессора зависит скорость работы программ в DOS? Почему некоторые программы работают одинаково на всех процессорах, а скорость работы других зависит от скорости процессора? Как написать программу одинаково работающую на всех процессорах?
Давайте сначала определимся, что такое "скорость работы программ" вообще и "скорость работы программ в DOS" в частности.
Кроме того, сильно подозреваю, что программы, о которых Вы говорите, работают совсем не в DOS, а в программе, эмулирующей эту ОС средствами Windows или Linux. Причем, вероятно, еще и в консольном окне, работающем в графическом режиме.
В общем, для того, чтобы ответить на все Ваши вопросы, их сначала следует существенным образом конкретизировать.

Однако, на последний вопрос, если под "одинаково работающую" подразумевать "с одинаковой скоростью осуществляющую изменения на экране", ответить достаточно просто:
темп вывода результатов работы нужно синхронизировать с каким-либо внешним источником, имеющим фиксированную частоту (в отличие от процессора), например, с таймером либо с частотой обновления экрана.

Это - самый простой вариант, подходящий для нересурсоемких приложений. Существует и альтернативный, но несколько более сложный способ - для ресурсоемких.
s-andriano вне форума Ответить с цитированием
Старый 17.02.2013, 23:15   #5
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Если уж совсем брать все на себя, то было бы не плохо исключить обработку NMI, запретить обычные прерывания и все - вот он процессор в полном распоряжении, гол как сокол Только при этом проблематично что-либо получить с ввода и что-либо выдать в вывод.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 17.02.2013, 23:30   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Если уж совсем брать все на себя, то было бы не плохо исключить обработку NMI, запретить обычные прерывания и все - вот он процессор в полном распоряжении, гол как сокол
А это все зачем?

Нет, действительно, интересует цель всех этих манипуляций.
s-andriano вне форума Ответить с цитированием
Старый 18.02.2013, 03:07   #7
rlib
Форумчанин
 
Аватар для rlib
 
Регистрация: 22.05.2012
Сообщений: 352
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
А это все зачем?

Нет, действительно, интересует цель всех этих манипуляций.
Чтобы проц не отвлекался на обработку прерываний, того же таимера.
rlib вне форума Ответить с цитированием
Старый 18.02.2013, 20:24   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от rlib Посмотреть сообщение
Чтобы проц не отвлекался на обработку прерываний, того же таимера.
А зачем?
Цель какая?
s-andriano вне форума Ответить с цитированием
Старый 18.02.2013, 22:55   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
А зачем?
Цель какая?
цель может быть одна, применение проца на максимум.
для одной задачи.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.02.2013, 08:03   #10
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
цель может быть одна, применение проца на максимум.
для одной задачи.
Увеличить производительность системы на менее чем 0.1%?
Более правдоподобные предложения есть?
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повысить скорость написания программ R_e_n Свободное общение 12 14.10.2012 10:14
Скорость работы с базой данных Linel PHP 3 17.06.2011 21:50
скорость работы указателей на функцию coinkrsk Общие вопросы C/C++ 3 31.10.2010 21:13
Скорость работы различных СУБД _SERGEYX_ БД в Delphi 3 10.10.2010 11:38
Скорость работы программы Farrel Общие вопросы C/C++ 0 10.09.2010 23:25