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

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

3天内不再提示

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

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

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

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

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

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

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

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

示例:

use tachyonix; use futures_executor::{block_on, Thre
       adPool}; 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").aw
       ait, Ok(())); }); assert_eq!(r.recv().await, Ok("Hello")); }); GitHub:https://github.com/asynchron
       ics/tachyonix
       

rsre:重命名工具

使用指南:

USAGE: rsre FILE/DIRECTORY NEW_FULL_NAME OP
       TIONS: -h, --help Print help inf
       ormation -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/TheAwi
       teb/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 中自定义实现的,支持双向文本。

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

    关注

    14

    文章

    2414

    浏览量

    71388
  • 程序
    +关注

    关注

    114

    文章

    3688

    浏览量

    80204
  • 计算框架
    +关注

    关注

    0

    文章

    4

    浏览量

    1924

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    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

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

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

    HarmonyOS多媒体框架介绍

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

    什么是高性能计算

    什么是 高性能 计算 高性能 计算(HighPerformanceComputing)是 计算机科学的
    发表于05-24 23:29 4497次阅读

    高性能计算发展与应用

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

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

    计算为什么这么火?云 计算高性能 计算又有着什么样的渊源?今天我们就详细说 下云 计算
    发表于06-26 14:30 3325次阅读

    C++ Web开发中轻量级、高性能的大利器

    (HTTP)开发 10 大利器 》,其中 介绍些 C/C++ Web 框架。有 名为 Oat++ 的很不错, 轻量、跨平台、
    的头像 发表于10-29 10:40 3560次阅读

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

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

    PyTorch教程-13.2.异步计算

    改变。MXNet 和 TensorFlow 等深度学习 框架采用 异步编程模型来提 高性能,而 PyTorch 使用 Python 自己的调度程序导致不同的 性能权衡。对于 PyTorch
    的头像 发表于06-05 15:44 507次阅读
    PyTorch教程-13.2. <b class='flag-5'>异步</b><b class='flag-5'>计算</b>

    异步IO框架iouring介绍

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

    带你了解什么是高性能计算(HPC)

    受益于HPC更高的速度处理大量数据的能力,全球正在进入HPC大周期, 高性能 计算的发展水平已经成为衡量 国家综合实力和高科技发展水平的重要标志,美国、欧盟、日本、英国都高度重视
    的头像 发表于07-20 08:28 199次阅读
    带你了解什么是<b class='flag-5'>高性能</b><b class='flag-5'>计算</b>(HPC)