Implementation:ClickHouse ClickHouse SSE Memcpy
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Memory, SIMD |
| Last Updated | 2026-02-08 00:00 GMT |
Overview
Custom optimized memcpy implementation using SSE2 instructions.
Description
Hand-optimized memcpy using SSE2 loads/stores, aligned stores, and loop unrolling. Avoids glibc symbol dependencies and PLT overhead.
Usage
Use for high-performance memory copying, avoiding glibc dependencies, or when standard memcpy is a bottleneck.
Code Reference
Source Location
- Repository: ClickHouse
- File: base/glibc-compatibility/memcpy/memcpy.h
- Lines: 1-223
Signature
static inline void * inline_memcpy(
void * __restrict dst_,
const void * __restrict src_,
size_t size);
Import
#include <base/glibc-compatibility/memcpy/memcpy.h>
Usage Examples
#include <base/glibc-compatibility/memcpy/memcpy.h>
char src[1024];
char dst[1024];
// Fast optimized copy
inline_memcpy(dst, src, 1024);
// Works for any size
inline_memcpy(dst, src, 7); // Small size
inline_memcpy(dst, src, 1000); // Medium size
inline_memcpy(dst, src, 10000); // Large size
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment