Главная страница
    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.034 c
15-1147413189
antonn
2006-05-12 09:53
2006.06.04
обширный вопрос по web-программингу..


15-1147449810
vrem
2006-05-12 20:03
2006.06.04
Удивляете ли Вы сами себя? :)


2-1148022112
Alien1769
2006-05-19 11:01
2006.06.04
Нормализация базы


4-1142232387
ksa2002
2006-03-13 09:46
2006.06.04
com порт , чтение и запись через два потока


3-1144910659
Kley
2006-04-13 10:44
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский