Форум: "Начинающим";
Текущий архив: 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.038 c