Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

const в параметрах   Найти похожие ветки 

 
Игорь Шевченко ©   (2008-03-02 23:11) [80]

Вопрос был про Integer, а флейм развели на 4 страницы


 
Loginov Dmitry ©   (2008-03-02 23:13) [81]

> Код включает Addref + try  finally finalize(LStrClr)


Это уже действительно убедительно, и мне к сожалению, нужно признать, что я не прав. Не думал, что компилятор будет вставлять try...finally, даже если процедура пустая. Я бряку ставил на END, и в ассемблерном коде просто не заметил ничего, кроме pop ebp и ret.
А твой тест с ShowMessage по преждему так и есть - некорректный. Он показывает, что быстрее (без оптимизации у меня - в 13 раз) выполняется второй цикл (не важно, какой именно). И это несмотря на наличие дополнительных 2х десятков машинных команд, связанных с реализацией try..finally.

Под фразой

> Именно в примере [2] оптимизации от этого никакой нет, т.к.
> нет обращения к отдельным символам строки. В других же случаях наличие
> Const может заметно улучшить производительность приложения по сравнению с его отсутствием.

я имею ввиду, что при отсутствии Const в процедуре будут присутствовать дополнительные машинные команды. Но без задержек на UniqueString их влияние на производительность программы настолько ничтожно, что на написание дополнительного слова Const в некоторых случаях можно смело забить. В таких случаях оптимизация, достигнутая с использованием Const, не ощущается.


 
Anatoly Podgoretsky ©   (2008-03-03 02:02) [82]

Const это не производительность, а защита


 
Германн ©   (2008-03-03 02:30) [83]


> Anatoly Podgoretsky ©   (03.03.08 02:02) [82]
>
> Const это не производительность, а защита
>

Угу. Это защита от дурака. Или от умного в неадекватном состоянии.
Что увеличивает умному широту маневра, в т.ч. и с точки зрения повышения производительности. Но и ИШ в
> Игорь Шевченко ©   (02.03.08 23:11) [80]
полностью прав.


 
Riply ©   (2008-03-03 03:03) [84]

> [80] Игорь Шевченко ©   (02.03.08 23:11)
> Вопрос был про Integer, а флейм развели на 4 страницы

Не все всё знают.
Мне, например, было интересно (надеюсь и полезно) почитать эту ветку :)


 
Германн ©   (2008-03-03 03:23) [85]


> Riply ©   (03.03.08 03:03) [84]
>
> > [80] Игорь Шевченко ©   (02.03.08 23:11)
> > Вопрос был про Integer, а флейм развели на 4 страницы
>
> Не все всё знают.
> Мне, например, было интересно (надеюсь и полезно) почитать
> эту ветку :)
>

Ну хоть тебе это пошло в плюс. Уже хорошо. Меньше будет попыток "ненаучного тыка" в очевидных случаях".


 
oxffff ©   (2008-03-03 08:40) [86]


> Loginov Dmitry ©   (02.03.08 23:13) [81]
> > Код включает Addref + try  finally finalize(LStrClr)
>
>
> Это уже действительно убедительно, и мне к сожалению, нужно
> признать, что я не прав. Не думал, что компилятор будет
> вставлять try...finally, даже если процедура пустая. Я бряку
> ставил на END, и в ассемблерном коде просто не заметил ничего,
>  кроме pop ebp и ret.
> А твой тест с ShowMessage по преждему так и есть - некорректный.
>  Он показывает, что быстрее (без оптимизации у меня - в
> 13 раз) выполняется второй цикл (не важно, какой именно).
>  И это несмотря на наличие дополнительных 2х десятков машинных
> команд, связанных с реализацией try..finally.


отключи оптимизацию.
И делай rebuild.  
И тест будет показывать разницу в виде задержек именно на Addref/finalize+try finally.


 
oxffff ©   (2008-03-03 08:47) [87]


> Германн ©   (03.03.08 03:23) [85]
>
> > Riply ©   (03.03.08 03:03) [84]
> >
> > > [80] Игорь Шевченко ©   (02.03.08 23:11)
> > > Вопрос был про Integer, а флейм развели на 4 страницы
> >
> > Не все всё знают.
> > Мне, например, было интересно (надеюсь и полезно) почитать
>
> > эту ветку :)
> >
>

> Ну хоть тебе это пошло в плюс. Уже хорошо. Меньше будет
> попыток "ненаучного тыка" в очевидных случаях".


см. oxffff ©   (02.03.08 16:10) [15].

Очевидный случай?



Страницы: 1 2 3 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.6 MB
Время: 0.045 c
15-1202849507
TStas
2008-02-12 23:51
2008.03.30
Как на Паскаль Скрипте прочитать в программу файл?


2-1203488436
vegarulez
2008-02-20 09:20
2008.03.30
Вопрос про alignment у TEdit.


2-1204119039
kiberg
2008-02-27 16:30
2008.03.30
количество элементов в перечислении


15-1203340039
ввв
2008-02-18 16:07
2008.03.30
Проверить компонент


15-1202491427
KilkennyCat
2008-02-08 20:23
2008.03.30
Свершилось!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский