0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个高性能异步计算框架介绍

jf_wN0SrCdH 来源:Rust语言中文社区 作者:Rust语言中文社区 2022-10-25 09:50 次阅读

tachyonix:异步多生产单消费有界通道

这个库是 Asynchronix 的一个分支,它持续努力地构建用于系统仿真的高性能异步计算框架。 这是一个简洁的异步通道,以快速著称,但也不会在正确性和质量方面取巧。它的性能主要来自于对 MPSC 用例的关注和一些精心的优化,包括:

为全队列和空队列事件积极优化通知原语。

发送者一旦创建就不会再分配,即使对于被阻止的发送者 / 接收者通知。

没有任何自旋锁,并且热点路径(程序中那些会频繁执行到的代码)中没有互斥锁。

针对单个接收器优化的底层队列。

示例:


use tachyonix; use futures_executor::{block_on, ThreadPool}; let pool = ThreadPool::new().unwrap(); let (mut s, mut r) = tachyonix::channel(3); block_on( async move { pool.spawn_ok( async move { assert_eq!(s.send("Hello").await, Ok(())); }); assert_eq!(r.recv().await, Ok("Hello")); }); GitHub:https://github.com/asynchronics/tachyonix

rsre:重命名工具

使用指南:


USAGE: rsre FILE/DIRECTORY NEW_FULL_NAME OPTIONS: -h, --help Print help information -V, --version Print version information 示例:

# with mv mv ../../foo/bar/bat/foo.txt ../../foo/bar/bat/bar.txt # with rsre rsre ../../foo/bar/bat/foo.txt bar.txt GitHub:https://github.com/TheAwiteb/rsre

exun:错误处理

有许多我们不希望发生的错误,但即便错了我们也不希望panic,当然我们也不想花太多时间处理意外错误。这就是本项目的用途,你可以保留意外错误,直到以后再担心它们。 示例:


use exun::*; fn foo(num: &str) -> Result { // 使用 `unexpect` 表示我们预计不会发生这个错误 let num = num.parse::().unexpect()?; Ok(num) }

use std::Error; use std::{self, Display}; use exun::*; #[derive(Debug)] struct NoNumberError; impl Display for NoNumberError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "no number provided") } } impl Error for NoNumberError {} fn foo(num: Option<&str>) -> Result> { let num = num.ok_or(NoNumberError)?; // 预计这可能会返回一个错误 let num = num.parse::().unexpect()?; // 但我们认为这个数字是可以解析的 Ok(num) }

use std::Error; use std::{self, Display}; use std::ParseIntError; use exun::*; #[derive(Debug)] struct NoNumberError; impl Display for NoNumberError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "no number provided") } } impl Error for NoNumberError {} fn foo(num: Option<&str>) -> Result> { // 预计可能不会得到一个数字,所以这样处理 let num = match num { Some(num) => num, None => return Err(Expected("no number provided")), }; // 但是,我们希望这个数字是可以解析的 match num.parse() { Ok(int) => Ok(int), Err(e) => Err(Unexpected(e)) } } GitHub:https://github.com/botahamec/exun

StarRust:太空射击游戏

使用 Rust 和 Bevy 制作的开源横向展开的太空射击游戏。 Demo:https://larsdu.github.io/StarRust/ GitHub:https://github.com/LarsDu/StarRust

cosmic-text:多行文本变形和渲染

COSMIC Text 提供了高级文本变形、布局和渲染。这些都被包含在一个简单抽象中。

文本变形由 rustybuzz 提供,并支持各种高级变形操作。

渲染由 swash 提供,它支持连字和彩色表情符号。

布局是在安全的 Rust 中自定义实现的,支持双向文本。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接收器
    +关注

    关注

    14

    文章

    2215

    浏览量

    70672
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79554
  • 计算框架
    +关注

    关注

    0

    文章

    4

    浏览量

    1918

原文标题:【Rust 日报】2022-10-23 tachyonix:一个高性能异步计算框架

文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    #硬声创作季 家里的音箱坏了,便制作了高性能的移动音箱

    音箱DIY高性能
    Mr_haohao
    发布于 :2022年10月20日 23:03:23

    NVIDIA火热招聘GPU高性能计算架构师

    :hrallenlinGPU高性能计算架构师 (功能验证)- 校招/社招工作职责: * 深入了解下代GPU架构与GPU高性能计算领域的最
    发表于 09-01 17:22

    Firefly支持AI引擎Tengine,性能提升,轻松搭建AI计算框架

    `Tengine 是OPEN AI LAB 为嵌入式设备开发的轻量级、高性能并且模块化的引擎。基于ARM平台高效的计算库实现,针对特定硬件平台的
    发表于 08-13 15:58

    高性能计算机的发展历史是怎样的?

    高性能计算机的发展史高性能计算机的内容高性能计算机的应用高性能计算机的现状高性能计算机的应用领域高性能
    发表于 09-10 10:42

    HPC高性能计算知识介绍

    HPC高性能计算知识 异构并行计算
    发表于 05-29 17:45

    高性能计算软件具有哪些缺陷?

    谈到高性能计算,很多人都会想到那些每秒可以运行百万亿次、千万亿次计算的超级计算机,如最近炒得很火爆的“天河号”、“曙光6000“等,但很少
    发表于 08-30 06:35

    基于ZU3EG的低功耗高性能嵌入式AI高性能计算模组

    基于ZU3EG的低功耗高性能嵌入式AI高性能计算模组 ![在这里插入图片描述](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR
    发表于 12-14 08:38

    简单实用的MCU程序框架介绍

    简单实用的MCU程序框架(非操作系统,简单调度任务) - 总体介绍 单片机程序,总体上可分为跑操作系统的和没操作系统,对于无MMU的小单片机,操作系统通常是UCOS、RTOS等实时
    发表于 02-11 06:21

    HarmonyOS多媒体框架介绍

    过程中的性能体验。 2 、相机框架介绍: 如下图所示,左侧绿色模块是目前已经开源或者开放的能力。其中包含些镜头管理能力,例如镜头查询、生命周期管理,除此之外,也将支持
    发表于 01-03 16:36

    什么是高性能计算

    什么是高性能计算 高性能计算(HighPerformanceComputing)是计算机科学的一个分支,主要是指从体系结构、并行算法和软件
    发表于 05-24 23:29 4284次阅读

    高性能计算发展与应用

    高性能计算发展与应用,感兴趣的可以看看。
    发表于 03-24 17:12 0次下载

    计算高性能计算的区别及联系

    近年来,随着人工智能、AI智药等科技领域的火热,以及阿里云、腾讯云、华为云等互联网大厂在各种场景下的成功应用。高性能计算、云计算这类科技领域的词汇也也逐渐进入人们的日常生活。那么,什么是云计算
    发表于 06-26 14:30 3140次阅读

    详解Netty高性能异步事件驱动的网络框架

    大家好,今天我们来聊聊Netty的那些事儿,我们都知道Netty是一个高性能异步事件驱动的网络框架
    的头像 发表于 03-16 10:57 1542次阅读

    什么是HPC(高性能计算)?

    高性能计算 (High Performance Computing,又叫HPC、超级计算) 是指比传统计算机和服务器提供更高马力聚合计算能力
    的头像 发表于 11-01 11:47 2.2w次阅读

    异步IO框架iouring介绍

    前言 Linux内核5.1支持了新的异步IO框架iouring,由Block IO大神也即Fio作者Jens Axboe开发,意在提供一套公用的网络和磁盘异步IO,不过io_uring目前在磁盘方面
    的头像 发表于 11-09 09:30 625次阅读
    <b class='flag-5'>异步</b>IO<b class='flag-5'>框架</b>iouring<b class='flag-5'>介绍</b>