{"id":62,"date":"2009-11-06T17:48:07","date_gmt":"2009-11-06T15:48:07","guid":{"rendered":"http:\/\/log.or.cz\/?p=62"},"modified":"2009-11-14T03:15:21","modified_gmt":"2009-11-14T01:15:21","slug":"benchmarking-string-functions","status":"publish","type":"post","link":"https:\/\/log.or.cz\/?p=62","title":{"rendered":"Benchmarking string functions"},"content":{"rendered":"<p>Just in case someone will ever need to benchmark glibc string routines, I hacked together a simple framework for that, <a href=\"http:\/\/pasky.or.cz\/~pasky\/dev\/glibc\/strbench\/\">strbench<\/a>.<\/p>\n<p>In SUSE, we carry some ancient AMD-provided patches that replace strlen(), memcmp(), strcmp() and strncmp() on x86_64 with different implementation, in the last glibc update to 2.11 I have hoped to get rid of the AMD patch finally, but the benchmark have shown that in fact glibc-2.11 has <a href=\"http:\/\/sourceware.org\/ml\/libc-alpha\/2009-11\/msg00018.html\">quite massive performance regression<\/a> here&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just in case someone will ever need to benchmark glibc string routines, I hacked together a simple framework for that, strbench. In SUSE, we carry some ancient AMD-provided patches that replace strlen(), memcmp(), strcmp() and strncmp() on x86_64 with different implementation, in the last glibc update to 2.11 I have hoped to get rid of [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6],"tags":[36,14,37,15],"class_list":["post-62","post","type-post","status-publish","format-standard","hentry","category-linux","category-software","tag-c","tag-glibc","tag-shell","tag-suse"],"_links":{"self":[{"href":"https:\/\/log.or.cz\/index.php?rest_route=\/wp\/v2\/posts\/62","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/log.or.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/log.or.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/log.or.cz\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/log.or.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=62"}],"version-history":[{"count":1,"href":"https:\/\/log.or.cz\/index.php?rest_route=\/wp\/v2\/posts\/62\/revisions"}],"predecessor-version":[{"id":67,"href":"https:\/\/log.or.cz\/index.php?rest_route=\/wp\/v2\/posts\/62\/revisions\/67"}],"wp:attachment":[{"href":"https:\/\/log.or.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=62"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/log.or.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=62"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/log.or.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}