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

    文章

    2456

    浏览量

    71789
  • 程序
    +关注

    关注

    116

    文章

    3773

    浏览量

    80830
  • 计算框架
    +关注

    关注

    0

    文章

    4

    浏览量

    1929

原文标题:【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 4551次阅读

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

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

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

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

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

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

    PyTorch教程-13.2. 异步计算

    改变。MXNet 和 TensorFlow 等深度学习框架采用 异步编程模型来提高性能,而 PyTorch 使用 Python 自己的调度程序导致不同的性能权衡。对于 PyTorch
    的头像 发表于 06-05 15:44 576次阅读
    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 2177次阅读
    <b class='flag-5'>异步</b>IO<b class='flag-5'>框架</b>iouring<b class='flag-5'>介绍</b>

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

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

    AI高性能计算平台是什么

    AI高性能计算平台不仅是AI技术发展的基石,更是推动AI应用落地、加速产业升级的重要工具。以下,是对AI高性能计算平台的介绍,由AI部落小编
    的头像 发表于 11-11 09:56 115次阅读