【Rust日报】crc-fast-rs - 支持SIMD的CRC算法生成器

科技   2024-10-24 11:45   加拿大  

tui下的Hive棋盘游戏

这是一个用Rust编写的Hive棋盘游戏的终端界面(TUI)实现。它可以通过键盘操作,并包含一个具有挑战性的人工智能对手。游戏包括教程和规则摘要。该项目提供了针对Windows x86_64和Linux x86_64的预编译二进制包。用户可以下载相应的zip文件,解压后即可运行游戏。对于Windows用户,需要先安装Windows Terminal。该项目使用了Unicode和色彩,因此需要终端支持相应的功能。未来可能会添加蜗牛棋子、重播模式等新功能。

https://github.com/N-Maas/hivetui

rustc_codegen_clr - 一个实验性的从Rust编译到.NET的Rust编译器后端

rustc_codegen_clr是一个实验性的从Rust编译到.NET的Rust编译器后端。它允许Rust编译器将Rust代码转换为.NET程序集。这种转换非常高级,保留了类型、字段/变量名等信息。该项目旨在提供一种轻松使用Rust库在.NET中的方式。它带有一个Rust/.NET互操作层,允许您从Rust轻松与.NET代码交互。该项目还将包括从Rust定义.NET类的支持,目前处于大量工作进行中的状态。

目前该项目支持大多数Rust特性(除了async和proc宏),但并非无bug。它可以编译一个基本可工作的Rust标准库版本,但存在许多小bug使得标准库不是100%功能完备。大多数标准库组件约有95%的功能正常工作。因此,您可以编译大量现有的Rust代码,但未必能正常工作。

rustc_codegen_clr仅在Linux x86_64上使用CoreCLR运行时(通常称为.NET运行时)和.NET 8进行了测试。理论上它应该可以在其他平台上工作,但没有保证。对Mono运行时的支持还不如预期。由于不受支持的功能和差异,在Mono上不支持128位整数和经过检查的64位整数运算。对齐分配器和某些内部函数也不受支持。

rustc_codegen_clr根据MIT许可证或Apache 2.0许可证获得双重许可。

https://github.com/FractalFir/rustc_codegen_clr

crc-fast-rs - 支持SIMD的CRC算法生成器

crc-fast-rs是一个支持SIMD的CRC算法生成器。该仓库中的gen_crates.sh脚本使用algos.csv中的算法列表,基于crc-crate-template目录生成每个特定的CRC算法crate。生成的lib.rs文件包含一个单一的crc!(...) 表达式,以及对包含宏逻辑的crc-fast-gen crate的依赖。

仓库中包含了一些示例,展示了如何更改模板并重新生成crate。版本信息存储在version.txt中,用于crate生成。一般情况下,crate版本与仓库版本同步,但对单个crate的修复可能单独进行版本修补。

该项目的主要目的是性能,因此包含了大量的CRC算法基准测试,根据输入大小(128-64k字节)对SIMD、查表和简单循环性能进行了测试。未来将在一组架构/系列上运行基准测试并发布结果。

该仓库为每种算法单独生成一个crate,这在Rust生态中是首选做法,因为通常应用只需依赖一两种CRC。单独crate使依赖更加明确,有利于预扩展代码以提高编译速度,方便审查和修复特定算法等。

https://github.com/TobiasBengtsson/crc-fast-rs

--

From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章