43 个发布版本
0.3.10 | 2024 年 1 月 24 日 |
---|---|
0.3.7 | 2023 年 12 月 5 日 |
0.3.6 | 2023 年 9 月 15 日 |
0.3.5 | 2023 年 3 月 12 日 |
0.1.5 | 2022 年 7 月 13 日 |
#139 in 内存管理
237 每月下载量
用于 flowlang
70KB
1.5K SLoC
NData
NData 提供支持对象、数组、字符串、整数、浮点数、布尔值、字节数组缓冲区和 null 的自持数据结构。DataObject、DataArray 和 DataBytes 实例维护引用计数。通过调用 NData::gc() 函数手动执行垃圾回收。
快速原型设计
与具有内置垃圾回收和宽松类型安全的语言相比,Rust 的内存管理和类型安全可能会在开发初期增加显著的工作量。NData 恢复了这些优势,使 Rust 成为快速原型设计的理想语言。是的,这确实会重新引入性能损失和潜在的错误,但与那些其他语言不同,一旦你确定了逻辑,你可以轻松地将它们从代码中重构出来。
示例: 双向链表
多线程环境
NData 设计上是线程安全的。对象可以轻松地在线程之间共享,无需担心所有权或互斥锁等问题。
示例: 多线程
全局变量
不建议使用全局变量,原因很明显。然而,有时你仍然需要它们,而且你不需要为了在堆上放置一些数据而与不安全的代码、指针、盒子、单元等打交道。
示例: 全局变量
恐慌管理
当发生恐慌时,自持结构不会丢失。它们是在恐慌回溯时恢复关键信息的一种便捷方式。
示例: 恐慌
垃圾回收
NData 将 Toaster-Simple™ 垃圾回收添加到 Rust。
示例: 垃圾回收
热插拔实时代码
NData与hot-lib-reloader crate配合使用效果良好,允许你在编写代码的同时将新代码交换到正在运行的应用程序中,同时保持运行时变量的状态。
示例:热重载
依赖项
~0–275KB