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

Вниз

С процедурами - лучше?   Найти похожие ветки 

 
AlexanderMS ©   (2006-05-16 19:06) [0]

Даёт ли какое-нибудь преимущество использование
s := concat(s, c) вместо s := s + с;
inc(c, 2) вместо c := с + 2?

В каких случаях код будет оптимальнее?


 
TUser ©   (2006-05-16 20:21) [1]

См. CPU window

Зы. Реального преимущества не дает.


 
_duk   (2006-05-16 20:38) [2]

inc(c, 2) использовать лучшее. на всех олимпиадах шарящие люди используют именно этот метод


 
Gydvin ©   (2006-05-16 20:43) [3]

кто-то здесь говорил, что inc лучше и обосновывал как-то


 
Loginov Dmitry ©   (2006-05-16 20:45) [4]

AlexanderMS ©   (16.05.06 19:06)
Даёт ли какое-нибудь преимущество использование
s := concat(s, c) вместо s := s + с;


Delphi syntax:

function Concat(s1 [, s2,..., sn]: string): string;

Description

In Delphi code, use Concat to concatenate an arbitrary number of strings. Each parameter is a string-type expression. The result is the concatenation of all the string parameters.

Using the plus (+) operator has the same effect on two strings as using the Concat function:

S := "ABC" + "DEF";

Tip: The plus operator is faster than Concat.


 
Amoeba ©   (2006-05-17 11:29) [5]


> Gydvin ©   (16.05.06 20:43) [3]
> кто-то здесь говорил, что inc лучше и обосновывал как-то

Об этом говорится даже в документации по Паскалю


 
Ega23 ©   (2006-05-17 11:34) [6]


> кто-то здесь говорил, что inc лучше и обосновывал как-то


Конечно лучше. Если это asm.


 
Gydvin ©   (2006-05-17 11:39) [7]


> Amoeba ©   (17.05.06 11:29) [5]

а что это :))))


 
Ega23 ©   (2006-05-17 11:40) [8]


var
i, ticks, j : Integer;
begin
 j:=0;
 ticks:=GetTickCount;
 for i:=1 to 1000000000 do j:=Inc(j);;
 ticks:=GetTickCount-ticks;
 Label1.Caption:="Ticks - "+IntToStr(ticks)+"; j="+IntToStr(j);

var
i, ticks, j : Integer;
begin
 j:=0;
 ticks:=GetTickCount;
 for i:=1 to 1000000000 do j:=j+1;;
 ticks:=GetTickCount-ticks;
 Label1.Caption:="Ticks - "+IntToStr(ticks)+"; j="+IntToStr(j);


Первый вариант - 2609 мс, второй - 2594. Итого: + быстрее.


 
Gydvin ©   (2006-05-17 11:54) [9]

каждый раз, разные результаты
по первому дает
от 671 до 735 чаще всего 688
по второму
от 671 до 781 чаще всего 703-719


 
Ega23 ©   (2006-05-17 11:58) [10]


> Gydvin ©   (17.05.06 11:54) [9]


Оптимизация выключена?


 
Плохиш ©   (2006-05-17 12:20) [11]


> Gydvin ©   (17.05.06 11:54) [9]
> каждый раз, разные результаты

Я плякал, а посмотреть в окно CPU не догадались? Д7 транслирует оба примера в одинаковый код, что с оптимизацией, что без оной ;-)


 
Gydvin ©   (2006-05-17 12:30) [12]

отключил

1 ~ 2035
2 ~ 2062

диагноз: они ~ одинаковы


 
Gydvin ©   (2006-05-17 12:33) [13]


> Плохиш ©   (17.05.06 12:20) [11]


а что сделать, молодой не опытный.  ))



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
2-1147762632
ttt_111
2006-05-16 10:57
2006.06.04
Работа с QRreport.


15-1147506391
Deka
2006-05-13 11:46
2006.06.04
Разыскиваются моноширинные шрифты. Надоело смотреть на Arial.


2-1147855804
NewBit
2006-05-17 12:50
2006.06.04
Свойство компонентов


1-1145877862
Nike
2006-04-24 15:24
2006.06.04
Приведение любого контрола к типу TObject по его Handle


15-1147361347
Новичоккк
2006-05-11 19:29
2006.06.04
Решить уравнение





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский