|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NLMISC::CFastMem Class ReferenceFunctions for Fast Memory manipulation with Pentium-class processors.
More...
#include <fast_mem.h>
List of all members.
Static Public Methods |
void | precache (const void *src, uint nbytes) |
| Fast precaching of memory in L1 cache using SSE or MMX where available (NB: others methods don't do the test) nbytes should not override 4K. More...
|
void * | memcpySSE (void *dst, const void *src, size_t nbytes) |
| Fast memcpy using SSE instructions: prefetchnta and movntq. More...
|
void | precacheSSE (const void *src, uint nbytes) |
| Fast precaching of memory in L1 cache using MMX/SSE instructions: movq and prefetchnta Result is typically 880 Mo/s (surely slower because of overhead). More...
|
void | precacheMMX (const void *src, uint nbytes) |
| Fast precaching of memory in L1 cache using MMX instructions only: movq Result is typically 720 Mo/s (surely slower because of overhead). More...
|
Detailed Description
Functions for Fast Memory manipulation with Pentium-class processors.
From http://www.sgi.com/developers/technology/irix/resources/asc_cpu.html -
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2002
Definition at line 44 of file fast_mem.h.
Member Function Documentation
void * NLMISC::CFastMem::memcpySSE |
( |
void * |
dst, |
|
|
const void * |
src, |
|
|
size_t |
nbytes |
|
) |
[static] |
|
|
Fast memcpy using SSE instructions: prefetchnta and movntq.
Can be called only if SSE and MMX is supported NB: Copy per block of 4K through L1 cache Result is typically 420 Mo/s instead of 150 Mo/s.
Definition at line 205 of file fast_mem.cpp.
References src. |
void NLMISC::CFastMem::precache |
( |
const void * |
src, |
|
|
uint |
nbytes |
|
) |
[static] |
|
|
Fast precaching of memory in L1 cache using SSE or MMX where available (NB: others methods don't do the test) nbytes should not override 4K.
Definition at line 218 of file fast_mem.cpp.
References src. |
void NLMISC::CFastMem::precacheMMX |
( |
const void * |
src, |
|
|
uint |
nbytes |
|
) |
[static] |
|
|
Fast precaching of memory in L1 cache using MMX instructions only: movq Result is typically 720 Mo/s (surely slower because of overhead).
Hence prefer precacheSSE() when available. nbytes should not override 4K
Definition at line 214 of file fast_mem.cpp.
References src. |
void NLMISC::CFastMem::precacheSSE |
( |
const void * |
src, |
|
|
uint |
nbytes |
|
) |
[static] |
|
|
Fast precaching of memory in L1 cache using MMX/SSE instructions: movq and prefetchnta Result is typically 880 Mo/s (surely slower because of overhead).
nbytes should not override 4K
Definition at line 210 of file fast_mem.cpp.
References src. |
The documentation for this class was generated from the following files:
|
|