> On 09/21/2017 09:41 PM, Andres Freund wrote: > > On 2017-09-21 09:30:31 -0400, Tom Lane wrote: > >> Andrew Dunstan <andrew.duns...@2ndquadrant.com> writes: > >>> The speed of memset is hardly going to be the dominating factor in a > >>> 'CREATE DATABASE' command, so we could certainly afford to change to > >>> plain memset calls here. > >> Another thought is that it may be time for our decennial debate about > >> whether MemSet is worth the electrons it's printed on. I continue to > >> think that any modern compiler+libc ought to do an equivalent or better > >> optimization given just a plain memset(). If that seems to be true > >> for recent MSVC, we could consider putting an #if into c.h to define > >> MemSet as just memset for MSVC. Maybe later that could be extended > >> to other compilers. > > +many. glibc's memset is nearly an order of magnitude faster than MemSet > > on my machine for medium+ length copies, and still 3-4 four times ~100 > > bytes. And both gcc and clang optimize way the memcpy entirely when the > > length is a fixed short length.
> Perhaps we need some sort of small benchmark program that we can run on > a representative set of platforms? I personally don't think that's needed here, given how incredibly widely used memset is in our codebase. > I presume if you can make that assertion you already have something > along those lines? Not really. I just replaced memset with MemSetAligned in a bunch of places in the code and looked at profiles. Greetings, Andres Freund -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers