Ferroc 内存分配器:现已发布第一个预发布正式版

💡 原文中文,约3900字,阅读约需10分钟。
📝

内容提要

Ferroc v1.0.0-pre.1已在crates.io上发布,包括减小allocate_*函数接口大小、优化代码生成和添加对C/C++的支持等改进。文章还解释了TLS缓存的使用,并提供了手动和自动管理缓存生命周期的示例。此外,还讨论了使用THREAD_DATA作为全局分配器的挑战,并提供了手动管理的替代方法。文章最后给出了C/C++用户下载和安装Ferroc库的说明。

🎯

关键要点

  • Ferroc v1.0.0-pre.1已在crates.io上发布,期待用户反馈以改进。

  • 主要改动包括减小allocate_*函数接口的Result大小,优化代码生成,增加C/C++支持。

  • TLS变量使用专门的缓存结构体,减少内存重复分配。

  • ferroc::heap::ThreadLocal提供手动或自动管理缓存生命周期的选项。

  • 自动管理示例展示了如何在栈上和TLS中使用ThreadData。

  • 手动管理生命周期依赖于ThreadLocal的assign、get和put方法,提供了两种示例。

  • C/C++用户可以通过Rust工具链下载和安装Ferroc库。

  • CMake支持多种配置选项,用户可自定义构建过程。

  • 基准测试结果更新,欢迎用户试用并提供反馈。

延伸问答

Ferroc v1.0.0-pre.1的主要改动是什么?

主要改动包括减小allocate_*函数接口的Result大小、优化代码生成和增加C/C++支持。

如何在C/C++中使用Ferroc库?

C/C++用户可以通过Rust工具链下载和安装Ferroc库,并使用CMake进行构建。

Ferroc的TLS缓存是如何工作的?

Ferroc的TLS缓存使用专门的缓存结构体,支持手动或自动管理缓存的生命周期,减少内存重复分配。

Ferroc支持哪些内存管理方式?

Ferroc支持手动和自动管理缓存生命周期,用户可以根据需要选择不同的管理方式。

Ferroc的基准测试结果如何?

基准测试结果更新了时间和内存消耗,具体数据在文章中未提供,欢迎用户试用并反馈。

Ferroc的错误处理机制是怎样的?

Ferroc通过开启新增的error-log功能来记录错误日志,具体Error类型变为core::alloc::AllocError。

🏷️

标签

➡️

继续阅读