Re: What exactly is our CRC algorithm?
От | Andres Freund |
---|---|
Тема | Re: What exactly is our CRC algorithm? |
Дата | |
Msg-id | 012802C8-A74D-419C-8D9F-D748EC850491@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: What exactly is our CRC algorithm? (Bruce Momjian <bruce@momjian.us>) |
Ответы |
Re: What exactly is our CRC algorithm?
Re: What exactly is our CRC algorithm? |
Список | pgsql-hackers |
On December 26, 2014 4:50:33 PM CET, Bruce Momjian <bruce@momjian.us> wrote: >On Thu, Dec 25, 2014 at 11:57:29AM +0530, Abhijit Menon-Sen wrote: >> Hi. >> >> Here's a proposed patch to use CPUID at startup to determine if the >> SSE4.2 CRC instructions are available, to use them instead of the >> slice-by-8 implementation (posted earlier). >> >> A few notes: >> >> 1. GCC has included cpuid.h since 4.3.0, so I figured it was safe to >> use. It can be replaced with some inline assembly otherwise. >> >> 2. I've also used the crc32b/crc32q instructions directly rather than >> using ".bytes" to encode the instructions; bintuils versions since >> 2007 or so have supported them. >> >> 3. I've included the MSVC implementation mostly as an example of how >to >> extend this to different compilers/platforms. It's written >according >> to the documentation for MSVC intrinsics, but I have not tested >it. >> Suggestions/improvements are welcome. > >Uh, what happens if the system is compiled on a different CPU that it >is >run on? Seems we would need a run-time CPU test. That's the cpuid thing mentioned above. Andres -- Please excuse brevity and formatting - I am writing this on my mobile phone. Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: