![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]()
var
b:integer; a:array [1..40 ] of integer; 1) b=10 2) a[1]=10; var a:integer; c:record a:integer; end; 1) a=10; 2) c.a=10; Будет ли 1) выполняться быстрее чем 2), если да, то на сколько? |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Все приведенные варианты присвоения компилируются в
mov [xxx], 0Ah cледовательно разницы не будет Последний раз редактировалось alexBlack; 11.07.2008 в 18:07. |
![]() |
![]() |
![]() |
#3 |
Студент 1 курса
Форумчанин Подтвердите свой е-майл
Регистрация: 27.06.2008
Сообщений: 959
|
![]()
Попробуй сам измерь.
Делай так Код:
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]() Цитата:
1) a:=10; 2) c.a:=10; ? |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]()
Кто-нибудь может объяснить почему так?
|
![]() |
![]() |
![]() |
#6 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
Код:
mov edi, 0ah mov [ebp-xxx], edi обычные переменные компилятор может разместить в регистрах например, mov esi, 0ah (а может и в стеке и тогда будут точно такие же инструкции как для структур) Может отсюда и разница во времени выполнения. У меня, например, один компилятор дал одинаковое время, второй разное, но только для локальных переменных. Для глобальных переменных время всегда одинаковое. |
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]() Цитата:
и локальным переменным? Проверил код(a:=10 и c.a:=10) на старушке BP(с глобальными переменными) выдает разные результаты по скорости. |
|
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
Да и зачем это нужно ? Разница, даже если она есть настолько незначительна, что это не даст выигрыша в скорости. Искать слабые места нужно в другом месте - длинные циклы, сложные вычисления... |
|
![]() |
![]() |
![]() |
#9 | ||
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#10 | ||
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Если просто из любопытства, то сделать тестовый пример и посмотреть результаты. Пример я приводил.
Цитата:
Цитата:
Код:
|
||
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение скорости компиляторов | Umen | Обсуждение статей | 13 | 05.10.2009 19:48 |
Вопросы о оптимизации работы с СУБД | Stilet | БД в Delphi | 8 | 21.07.2008 11:29 |
Помощь в оптимизации | anger | Общие вопросы Delphi | 13 | 05.11.2007 13:15 |