Главная страница
    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.054 c
6-1139192754
Delphi_is_cool
2006-02-06 05:25
2006.06.04
Определить ip dialup сервера


1-1146143735
rolex2002
2006-04-27 17:15
2006.06.04
Как из текста вытащить путь к файлу?


2-1147848747
dest81
2006-05-17 10:52
2006.06.04
Событие от клавиатуры


4-1142072413
AllBrain
2006-03-11 13:20
2006.06.04
А как получить список Дисков (FDD/HDD/CD/DVD)


15-1146904170
IronHawk
2006-05-06 12:29
2006.06.04
XML & XSLT шаблоны, где глюк в стыковке?





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