Add libcsse report.
This commit is contained in:
parent
e1dd841bbb
commit
b133015787
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=45753
1 changed files with 43 additions and 0 deletions
|
@ -1019,4 +1019,47 @@
|
|||
commit bits were taken in for safe keeping.</p>
|
||||
</body>
|
||||
</project>
|
||||
|
||||
<project cat='bin'>
|
||||
<title>SSE variants of libc routines for amd64</title>
|
||||
|
||||
<contact>
|
||||
<person>
|
||||
<name>
|
||||
<given>John</given>
|
||||
<common>Baldwin</common>
|
||||
</name>
|
||||
<email>jhb@FreeBSD.org</email>
|
||||
</person>
|
||||
</contact>
|
||||
|
||||
<links>
|
||||
<url href="http://trac.baldwin.cx:8080/freebsd/wiki/LibCSSE" />
|
||||
</links>
|
||||
|
||||
<body>
|
||||
<p>I have written SSE/AVX-optimized versions of a few libc
|
||||
routines for amd64. So far the list includes <tt>memcpy</tt>,
|
||||
<tt>memset</tt>, and <tt>strlen</tt>. For each routine I have
|
||||
written a simple regression test as well as performed some
|
||||
simple microbenchmarks on various AMD and Intel CPUs.</p>
|
||||
|
||||
<p>The simplest routine is <tt>strlen</tt> which appears to be a
|
||||
general win in microbenchmarks. <tt>memcpy</tt> and
|
||||
<tt>memset</tt> have proven trickier as different variants can
|
||||
behave quite differently on different CPUs.</p>
|
||||
|
||||
<p>At present, I do not yet have a patch relative to libc. Once
|
||||
I do, this will be suitable for more testing. I'd like to see
|
||||
some real-world benchmarks that show measurable improvement
|
||||
before pushing any of this up into the tree.</p>
|
||||
</body>
|
||||
|
||||
<help>
|
||||
<task>
|
||||
<p>Create a branch that holds a modified libc and is suitable
|
||||
for testing</p>
|
||||
</task>
|
||||
</help>
|
||||
</project>
|
||||
</report>
|
||||
|
|
Loading…
Reference in a new issue