Форум: "Прочее";
Текущий архив: 2008.06.29;
Скачать: [xml.tar.bz2];
ВнизГода полтора-два назад тема была Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c