![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]()
Здравствуйте.
Может немного глупый вопрос, но что быстрее работает i:=i+1 или Inc(i)? Я так понимаю, что корректнее писать Inc(i), но что быстрее? Заранее благодарен.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
![]() |
![]() |
![]() |
#2 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Написал данный код в RAD XE6 и посмотрел дизассемблер:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
![]()
i+1 может не оптимизироваться. Inc и быстрее и понятнее компилятору.
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]()
Спасибо, как-то не подумал проверить это в дизассемблере, в Delphi 7 он тоже есть.
Отключил оптимизацию и проверил различные варианты, результат один и тот же: Цитата:
Может вопрос не в тему, но есть ли что-то подобно для строк? Чтоб не писать str:=str+'word';
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Есть функция concat. Скорость не проверял, но Вы теперь и сами знаете как.
![]() Перед использованием внимательно прочтите о функции.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 06.08.2015 в 18:50. |
![]() |
![]() |
![]() |
#6 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,855
|
![]()
Компилятор такие штуки должен уметь оптимизировать. Но в древнем Турбо Паскале inc(i) был быстрее, к тому же при inc отсутствовала проверка выхода за границы типа (переполнение).
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]()
Utkin, Concat, это не совсем то, что нужно. Вид записи будет:
Код:
Код:
Как вариант: Insert('67890',str,Length(str)); Но это не вариант ![]()
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Последний раз редактировалось Krasiosoft; 06.08.2015 в 19:02. |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 30.06.2015
Сообщений: 353
|
![]()
Должен уметь. Но некоторые не догадываются. Лучше всегда писать inc, да и по смыслу больше подходит.
В догонку: Задачка №5 |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 22.07.2015
Сообщений: 138
|
![]() Цитата:
)))
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен или код, или блок схема, или просто обьяснение. | shewlett | Помощь студентам | 1 | 03.06.2015 16:34 |
Нужен скрипт для Photoshop или Lightroom, ну или отдельную программу. | Михаил Понедельник | Фриланс | 2 | 09.11.2011 21:37 |
Тестирующая программа (на PHP или JavaScript или Delphi или Visual Basic) | @@@Сергей@@@ | Фриланс | 2 | 05.05.2011 17:48 |
Ошибка в temp... виноваты динамичсекие массивы или тип не тот или.. | Shabalinuk | C++ Builder | 5 | 12.11.2010 12:38 |