Re: speed up verifying UTF-8

Поиск
Список
Период
Сортировка
Искать
От
Heikki Linnakangas
Тема
Re: speed up verifying UTF-8
Дата
Msg-id
bca46396-a517-467c-72f8-6140a05a4d1e@iki.fi
Ответ на
Список
Дерево обсуждения
[POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions Heikki Linnakangas <hlinnaka@iki.fi>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions Heikki Linnakangas <hlinnaka@iki.fi>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions Heikki Linnakangas <hlinnaka@iki.fi>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions Heikki Linnakangas <hlinnaka@iki.fi>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
Re: [POC] verifying UTF-8 using SIMD instructions John Naylor <john.naylor@enterprisedb.com>
On 03/06/2021 22:10, John Naylor wrote:
> On Thu, Jun 3, 2021 at 3:08 PM Heikki Linnakangas  > wrote:
>  >                 x1 = half1 + UINT64CONST(0x7f7f7f7f7f7f7f7f);
>  >                 x2 = half2 + UINT64CONST(0x7f7f7f7f7f7f7f7f);
>  >
>  >                 /* then check that the high bit is set in each byte. */
>  >                 x = (x1 | x2);
>  >                 x &= UINT64CONST(0x8080808080808080);
>  >                 if (x != UINT64CONST(0x8080808080808080))
>  >                         return 0;
> 
> That seems right, I'll try that and update the patch. (Forgot to attach 
> earlier anyway)

Ugh, actually that has the same issue as before. If one of the bytes is 
in one half is zero, but not in the other half, this fail to detect it. 
Sorry for the noise..

- Heikki


В списке pgsql-hackers по дате отправления
От: Mark Dilger
Дата:
От: David Christensen
Дата:
FAQ