Go语言垃圾回收机制下的竞技:构建高效的Arena分配器

2025-04-21
Go语言垃圾回收机制下的竞技:构建高效的Arena分配器

本文深入探讨了Go语言垃圾回收机制的细节,并基于此构建了一个高效的Arena分配器。作者巧妙地利用Go语言GC的特性,在不违反语言规范的前提下,实现了比Go内置分配器更快的内存分配速度,尤其是在大规模内存分配场景下。文章详细阐述了Arena分配器的设计原理、实现方法以及性能测试结果,并分析了其在高并发环境下的表现。

阅读更多
开发

目标三元组:编译器地狱的混乱指南

2025-04-15
目标三元组:编译器地狱的混乱指南

本文深入探讨了编译器目标三元组的复杂性,例如x86_64-unknown-linux-gnu。它解释了三元组的组成部分(架构、厂商、操作系统、ABI),并揭示了GCC和LLVM在处理目标三元组方面的差异。文章详细分析了各种架构(x86、ARM等)的命名约定,以及厂商和操作系统的表示方法,并强调了保持一致性以避免混淆的重要性。最终,作者建议在创建新的工具链时,尽量避免发明新的目标三元组约定,以方便跨工具链的协作。

阅读更多

关于链接器脚本的一切:你不曾想知道的细节

2024-11-30
关于链接器脚本的一切:你不曾想知道的细节

本文深入探讨了链接器脚本的用途和工作原理。链接器脚本是底层软件开发的关键工具,它指导链接器如何组织目标文件中的代码,从而精确控制最终可执行文件的结构。文章详细解释了链接器的作用、目标文件和段的概念、链接器脚本的语法、LMA 和 VMA 的区别以及如何在链接器脚本中定义符号和内存区域。此外,文章还提供了一个简单的 C 项目示例,用于演示如何编写和测试链接器脚本,并列举了一些实际使用的链接器脚本案例,方便读者深入学习。

阅读更多
未分类

The Rust Calling Convention We Deserve · mcyoung

2024-04-18
 The Rust Calling Convention We Deserve · mcyoung

本文介绍了在计算机科学中调用约定的概念,它是函数或过程在调用时传递参数的方法。文中探讨了不同类型的调用约定,包括传值传递、传址传递和传引用传递。此外,文章还分析了调用约定的优点和缺点,并提供了如何选择合适调用约定的建议。

阅读更多
未分类