Помощь - Поиск - Пользователи - Календарь
Полная версия: Скорость вывода с CRT и без
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
sheka
Объясните, пожалуйста, полученный
результат: (Показать/Скрыть)
Нажмите для просмотра прикрепленного файлаИ
почему? (Показать/Скрыть)
IUnknown
Что именно тебя удивляет в результате? Извини, я не понял, что ты хотел сказать этим "тестом". Ты уж уточняй, что именно "тестировалось", на всякий случай...

Цитата
//при Сrt и выводе на экран при такой
//записи на экран выводятся пробелы,
//а при такой write(output,'*'); все нормально
А ты ассоциируй файл с консолью правильно - все будет нормально. Кто разрешил делать f := output ?
AssignCRT(f); rewrite(f);
надо...
sheka
Да, действительно, о чем это я? smile.gif
Тестировал время работы функции write при подключенном CRT и при отключенном. Вывод в файл и на экран.
Почему разница между двумя первыми тестами в много раз больше разницы между 2мя другими - это более менее понятно: коэффициентом умноженным на разницу является время отрисовки символов.
Но в чем же разница между реализациями этой функции в модулях CRT и system, если не ошибаюсь?

Просто тов. Препод говорил, что CRT работает на много быстрее, а вот случайно наткнувшись на эту тему [ Матрица. Суммы диоганалей паралельных главной и побочной - Lapp] и на ваши высказывания по этому поводу решил усомниться в Его Величества правоте.
IUnknown
Цитата
Просто тов. Препод говорил, что CRT работает на много быстрее
Тов. препод наверняка имел в виду другой компилятор, да? smile.gif Кстати. Хочешь удивиться еще больше? запусти этот же тест под TP (ну, правда его понадобится чуть-чуть переделать, ибо он не будет компилироваться в таком виде. Заодно и тебе будет наука: не все, что пропускает FPC во-первых, правильно, а во-вторых вообще корректно с точки зрения синтаксиса, принятого в Турбо-Паскале).
-TarasBer-
Чтобы было быстрее, надо выводить в файл через BlockWrite, а на экран через $B800:$0000. Так что напиши программу вот через это вот, а потом преподу так и скажи, что ты это сделал для того, чтобы ускорить вывод строчки на экран.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.