5 个仓库
Memory allocation strategies that ensure buffers have trailing padding to support wide vector loads.
Distinct from Cache-Aware Memory Access: Distinct from general cache-aware access: specifically addresses the padding requirement for SIMD memory safety.
Explore 5 awesome GitHub repositories matching software engineering & architecture · SIMD Buffer Padding. Refine with filters or upvote what's useful.
simdjson is a high-performance JSON parser that utilizes SIMD instructions to process gigabytes of data per second. It functions as a SIMD JSON parser, a multithreaded NDJSON processing library, a UTF-8 validation engine, and a tool for JSON minification and string building. The project focuses on high-throughput data processing, enabling the ingestion of massive JSON volumes and the verification of UTF-8 encoding standards. It includes dedicated capabilities for constructing JSON strings with optimized memory usage and removing unnecessary whitespace from documents to reduce file size. The
Allocates extra space at the end of buffers to allow wide SIMD loads without memory access violations.
The Disruptor is a lock-free inter-thread messaging library and high-performance event bus. It implements a concurrent ring buffer designed for high-concurrency and low-latency message sequencing. The project utilizes a specific messaging architecture to eliminate lock contention, enabling high-throughput event routing and the exchange of continuous event streams between threads. It ensures strict first-in-first-out ordering and immediate data visibility across processing threads. The library provides capabilities for lock-free data streaming, sequential data ordering, and sequence-based eve
Implements cache-line padding to eliminate false sharing and maximize CPU cache efficiency.
This project is a collection of educational resources and technical guides focused on Go performance optimization. It provides instruction on improving execution speed and reducing memory usage through code and architectural refinements. The guides cover advanced strategies for low-level programming, including the use of assembly for SIMD instructions and unsafe pointers for direct memory manipulation. It also details concurrency optimization techniques such as lock sharding and cache-line padding to reduce contention and improve hardware utilization. The material encompasses broad capabilit
Implements cache-line padding to prevent false sharing and reduce CPU cache coherence traffic.
该项目是一个分布式唯一 ID 生成器,旨在跨多个节点生成 64 位全局唯一且可排序的标识符。它实现了一个兼容 Snowflake 的算法,通过将时间戳、工作节点标识符和序列号组合成一个整数来防止冲突。 该系统包括一个工作节点 ID 编排器,用于在实例启动和迁移期间使用基于数据库的策略分配和维护唯一的机器身份。为了提高请求吞吐量并减少延迟,它利用了一个环形缓冲区缓存层,该层预生成标识符并采用基于阈值的补充机制。 该软件提供了管理分布式数据库键、协调系统节点以及配置位分布以平衡并发需求与系统寿命的功能。它还包括用于将生成的标识符解析回其原始组件的工具。
Employs cache-line padding between buffer elements to eliminate false sharing and increase hardware throughput.
该项目是一个技术参考和内部分析笔记集合,专注于 Go 语言运行时和编译器。它提供了语言内部结构的详细分解,涵盖内存管理、垃圾回收以及调度器的执行模型。 该材料通过提供对底层系统细节的深入研究而脱颖而出,包括 Go 汇编指令、寄存器使用和系统调用接口的参考。它专门分析了并发原语的内部实现,例如 goroutine 调度机制、通道操作和互斥锁实现。 其覆盖范围扩展到编译器构建理论,包括词法和语法分析,以及类型系统和接口管理的机制。它还详细介绍了各种性能优化技术、用于堆栈跟踪的运行时诊断工具以及网络 I/O 原语。
Details the use of padding bytes to prevent CPU cache coherence traffic caused by false sharing.