{"push_id":632863367,"size":9,"distinct_size":9,"ref":"refs/heads/master","head":"936546dcbc24ad1f2b3d33e73aa5c5fde4d2be84","before":"b22a36a62ce312c1df9477382d1da602b0c24f6f","commits":[{"sha":"81134af3ec09d67043833f8d614fd688f17cb213","author":{"email":"c50e6bf7013fce877ffb25104d778a36de31e297@gmx.net","name":"Peter Eisentraut"},"message":"Move pgbench from contrib/ to src/bin/\n\nReviewed-by: Michael Paquier <michael.paquier@gmail.com>","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/81134af3ec09d67043833f8d614fd688f17cb213"},{"sha":"b5213e14a4759b8f6817359c827950bae5452136","author":{"email":"3c84f0de6f8a0f296d36cdd9f57fa166641c96b1@alvh.no-ip.org","name":"Alvaro Herrera"},"message":"Remove duplicated word in README","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/b5213e14a4759b8f6817359c827950bae5452136"},{"sha":"d577bb868dfb595aa8df95974cd1c79e1baba924","author":{"email":"c50e6bf7013fce877ffb25104d778a36de31e297@gmx.net","name":"Peter Eisentraut"},"message":"pgbench: Attempt fix build on Windows","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/d577bb868dfb595aa8df95974cd1c79e1baba924"},{"sha":"4f700bcd20c087f60346cb8aefd0e269be8e2157","author":{"email":"ac1e0af1ee8efe15f889b38482e897ff7d0f0432@iki.fi","name":"Heikki Linnakangas"},"message":"Reorganize our CRC source files again.\n\nNow that we use CRC-32C in WAL and the control file, the \"traditional\" and\n\"legacy\" CRC-32 variants are not used in any frontend programs anymore.\nMove the code for those back from src/common to src/backend/utils/hash.\n\nAlso move the slicing-by-8 implementation (back) to src/port. This is in\npreparation for next patch that will add another implementation that uses\nIntel SSE 4.2 instructions to calculate CRC-32C, where available.","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/4f700bcd20c087f60346cb8aefd0e269be8e2157"},{"sha":"3dc2d62d0486325bf263655c2d9a96aee0b02abe","author":{"email":"ac1e0af1ee8efe15f889b38482e897ff7d0f0432@iki.fi","name":"Heikki Linnakangas"},"message":"Use Intel SSE 4.2 CRC instructions where available.\n\nModern x86 and x86-64 processors with SSE 4.2 support have special\ninstructions, crc32b and crc32q, for calculating CRC-32C. They greatly\nspeed up CRC calculation.\n\nWhether the instructions can be used or not depends on the compiler and the\ntarget architecture. If generation of SSE 4.2 instructions is allowed for\nthe target (-msse4.2 flag on gcc and clang), use them. If they are not\nallowed by default, but the compiler supports the -msse4.2 flag to enable\nthem, compile just the CRC-32C function with -msse4.2 flag, and check at\nruntime whether the processor we're running on supports it. If it doesn't,\nfall back to the slicing-by-8 algorithm. (With the common defaults on\ncurrent operating systems, the runtime-check variant is what you get in\npractice.)\n\nAbhijit Menon-Sen, heavily modified by me, reviewed by Andres Freund.","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/3dc2d62d0486325bf263655c2d9a96aee0b02abe"},{"sha":"0a52fafce42e47d151d1108a44b25152a908c732","author":{"email":"3c84f0de6f8a0f296d36cdd9f57fa166641c96b1@alvh.no-ip.org","name":"Alvaro Herrera"},"message":"Fix typo in comment\n\nSLRU_SEGMENTS_PER_PAGE -> SLRU_PAGES_PER_SEGMENT\n\nI introduced this ancient typo in subtrans.c and later propagated it to\nmultixact.c.  I fixed the latter in f741300c, but only back to 9.3;\nbackpatch to all supported branches for consistency.","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/0a52fafce42e47d151d1108a44b25152a908c732"},{"sha":"b4eb2d168d2c426978a02de8b9b6ccdb85e1b442","author":{"email":"ac1e0af1ee8efe15f889b38482e897ff7d0f0432@iki.fi","name":"Heikki Linnakangas"},"message":"Try to fix the CRC-32C autoconf magic for icc compiler.\n\nOn gcc and clang, the _mm_crc32_u8 and _mm_crc32_u64 intrinsics are not\ndefined at all, when not building with -msse4.2. But on icc, they are.\nSo we cannot assume that if those intrinsics are defined, we can always use\nthem safely, we might still need the runtime check.\n\nTo fix, check if the __SSE_4_2__ preprocessor symbol is defined. That's\nsupposed to be defined only when the compiler is targeting a processor that\nhas SSE 4.2 support.\n\nPer buildfarm members fulmar and okapi.","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/b4eb2d168d2c426978a02de8b9b6ccdb85e1b442"},{"sha":"b73e7a0716264e5159947b1a755b9ab864142489","author":{"email":"ac1e0af1ee8efe15f889b38482e897ff7d0f0432@iki.fi","name":"Heikki Linnakangas"},"message":"Oops, fix misspelled #endif\n\nI hope this fixes the Windows builfarm failures.","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/b73e7a0716264e5159947b1a755b9ab864142489"},{"sha":"936546dcbc24ad1f2b3d33e73aa5c5fde4d2be84","author":{"email":"ac1e0af1ee8efe15f889b38482e897ff7d0f0432@iki.fi","name":"Heikki Linnakangas"},"message":"Optimize pg_comp_crc32c_sse42 routine slightly, and also use it on x86.\n\nEliminate the separate 'len' variable from the loops, and also use the 4\nbyte instruction. This shaves off a few more cycles. Even though this\nroutine that uses the special SSE 4.2 instructions is much faster than a\ngeneric routine, it's still a hot spot, so let's make it as fast as\npossible.\n\nChange the configure test to not test _mm_crc32_u64. That variant is only\navailable in the 64-bit x86-64 architecture, not in 32-bit x86. Modify\npg_comp_crc32c_sse42 so that it only uses _mm_crc32_u64 on x86-64. With\nthese changes, the SSE accelerated CRC-32C implementation can also be used\non 32-bit x86 systems.\n\nThis also fixes the 32-bit MSVC build.","distinct":true,"url":"https://api.github.com/repos/dwsteele/postgres/commits/936546dcbc24ad1f2b3d33e73aa5c5fde4d2be84"}]}