Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.29;
Скачать: CL | DM;

Вниз

Года полтора-два назад тема была   Найти похожие ветки 

 
Ega23 ©   (2008-05-16 12:10) [0]

по сравнению GUID-ов. Типа, что быстрее.
Был вариант CompareMem, был, фактически, "по-кусочному" сравнению.
Случайно на SysUtils.IsEqualGUID наткнулся

function IsEqualGUID(const guid1, guid2: TGUID): Boolean;
var
 a, b: PIntegerArray;
begin
 a := PIntegerArray(@guid1);
 b := PIntegerArray(@guid2);
 Result := (a^[0] = b^[0]) and (a^[1] = b^[1]) and (a^[2] = b^[2]) and (a^[3] = b^[3]);
end;


 
Vlad Oshin ©   (2008-05-16 12:36) [1]

имхо
если предвидим, что чаще должны быть равны то PIntegerArray(@guid1); или  TInt64DynArray

а если не равны, то byte с оптимизацией досрочного сравнения


 
Vlad Oshin ©   (2008-05-16 12:36) [2]

Удалено модератором


 
Vlad Oshin ©   (2008-05-16 12:36) [3]

Удалено модератором


 
guav ©   (2008-05-16 12:40) [4]

В WinAPI есть и UuidEqual и UuidCompare.


 
guav ©   (2008-05-16 12:41) [5]

и даже UuidHash


 
Anatoly Podgoretsky ©   (2008-05-16 13:15) [6]

Ну просто побитно не смогли реализовать.



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

Текущий архив: 2008.06.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
2-1212223941
Pi:=3.14...
2008-05-31 12:52
2008.06.29
Код в программе


15-1211185363
barakuda
2008-05-19 12:22
2008.06.29
Нужна процедура отправки письма за деньги


2-1212327471
Ceil
2008-06-01 17:37
2008.06.29
Панель задач


2-1212121612
Dymok
2008-05-30 08:26
2008.06.29
Как узнать путь к каталогу документов пользователя


2-1212144201
n_sch
2008-05-30 14:43
2008.06.29
Выборка (поиск) необходимых строк в текстовом файле (макете)