0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
會(huì )員中心
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示

一個(gè)高性能異步計算框架介紹

jf_wN0SrCdH ? 來(lái)源:Rust語(yǔ)言中文社區 ? 作者:Rust語(yǔ)言中文社區 ? 2022-10-25 09:50 ? 次閱讀

tachyonix:異步多生產(chǎn)單消費有界通道

這個(gè)庫是 Asynchronix 的一個(gè)分支,它持續努力地構建用于系統仿真的高性能異步計算框架。 這是一個(gè)簡(jiǎn)潔的異步通道,以快速著(zhù)稱(chēng),但也不會(huì )在正確性和質(zhì)量方面取巧。它的性能主要來(lái)自于對 MPSC 用例的關(guān)注和一些精心的優(yōu)化,包括:

為全隊列和空隊列事件積極優(yōu)化通知原語(yǔ)。

發(fā)送者一旦創(chuàng )建就不會(huì )再分配,即使對于被阻止的發(fā)送者 / 接收者通知。

沒(méi)有任何自旋鎖,并且熱點(diǎn)路徑(程序中那些會(huì )頻繁執行到的代碼)中沒(méi)有互斥鎖。

針對單個(gè)接收器優(yōu)化的底層隊列。

示例:


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:錯誤處理

有許多我們不希望發(fā)生的錯誤,但即便錯了我們也不希望panic,當然我們也不想花太多時(shí)間處理意外錯誤。這就是本項目的用途,你可以保留意外錯誤,直到以后再擔心它們。 示例:


use exun::*; fn foo(num: &str) -> Result { // 使用 `unexpect` 表示我們預計不會(huì )發(fā)生這個(gè)錯誤 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)?; // 預計這可能會(huì )返回一個(gè)錯誤 let num = num.parse::().unexpect()?; // 但我們認為這個(gè)數字是可以解析的 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> { // 預計可能不會(huì )得到一個(gè)數字,所以這樣處理 let num = match num { Some(num) => num, None => return Err(Expected("no number provided")), }; // 但是,我們希望這個(gè)數字是可以解析的 match num.parse() { Ok(int) => Ok(int), Err(e) => Err(Unexpected(e)) } } GitHub:https://github.com/botahamec/exun

StarRust:太空射擊游戲

使用 Rust 和 Bevy 制作的開(kāi)源橫向展開(kāi)的太空射擊游戲。 Demo:https://larsdu.github.io/StarRust/ GitHub:https://github.com/LarsDu/StarRust

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

COSMIC Text 提供了高級文本變形、布局和渲染。這些都被包含在一個(gè)簡(jiǎn)單抽象中。

文本變形由 rustybuzz 提供,并支持各種高級變形操作。

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

布局是在安全的 Rust 中自定義實(shí)現的,支持雙向文本。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權轉載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習之用,如有內容侵權或者其他違規問(wèn)題,請聯(lián)系本站處理。 舉報投訴
  • 接收器
    +關(guān)注

    關(guān)注

    14

    文章

    2226

    瀏覽量

    71065
  • 程序
    +關(guān)注

    關(guān)注

    114

    文章

    3651

    瀏覽量

    79787
  • 計算框架
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    1920

原文標題:【Rust 日報】2022-10-23 tachyonix:一個(gè)高性能異步計算框架

文章出處:【微信號:Rust語(yǔ)言中文社區,微信公眾號:Rust語(yǔ)言中文社區】歡迎添加關(guān)注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    #硬聲創(chuàng )作季 家里的音箱壞了,便制作了個(gè)高性能的移動(dòng)音箱

    音箱DIY高性能
    Mr_haohao
    發(fā)布于 :2022年10月20日 23:03:23

    NVIDIA火熱招聘GPU高性能計算架構師

    :hrallenlinGPU高性能計算架構師 (功能驗證)- 校招/社招工作職責: * 深入了解下代GPU架構與GPU高性能計算領(lǐng)域的最
    發(fā)表于 09-01 17:22

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

    `Tengine 是OPEN AI LAB 為嵌入式設備開(kāi)發(fā)的個(gè)輕量級、高性能并且模塊化的引擎?;贏(yíng)RM平臺高效的計算庫實(shí)現,針對特定硬件平臺的
    發(fā)表于 08-13 15:58

    高性能計算機的發(fā)展歷史是怎樣的?

    高性能計算機的發(fā)展史高性能計算機的內容高性能計算機的應用高性能計算機的現狀高性能計算機的應用領(lǐng)域高性能
    發(fā)表于 09-10 10:42

    HPC高性能計算知識介紹

    HPC高性能計算知識 異構并行計算
    發(fā)表于 05-29 17:45

    高性能計算軟件具有哪些缺陷?

    談到高性能計算,很多人都會(huì )想到那些每秒可以運行百萬(wàn)億次、千萬(wàn)億次計算的超級計算機,如最近炒得很火爆的“天河號”、“曙光6000“等,但很少
    發(fā)表于 08-30 06:35

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

    基于ZU3EG的低功耗高性能嵌入式AI高性能計算模組 ![在這里插入圖片描述](?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR
    發(fā)表于 12-14 08:38

    個(gè)簡(jiǎn)單實(shí)用的MCU程序框架介紹

    個(gè)簡(jiǎn)單實(shí)用的MCU程序框架(非操作系統,簡(jiǎn)單調度任務(wù)) - 總體介紹?單片機程序,總體上可分為跑操作系統的和沒(méi)操作系統,對于無(wú)MMU的小單片機,操作系統通常是UCOS、RTOS等實(shí)時(shí)
    發(fā)表于 02-11 06:21

    HarmonyOS多媒體框架介紹

    過(guò)程中的性能體驗。 2 、相機框架介紹: 如下圖所示,左側綠色模塊是目前已經(jīng)開(kāi)源或者開(kāi)放的能力。其中包含些鏡頭管理能力,例如鏡頭查詢(xún)、生命周期管理,除此之外,也將支持
    發(fā)表于 01-03 16:36

    什么是高性能計算

    什么是高性能計算 高性能計算(HighPerformanceComputing)是計算機科學(xué)的一個(gè)分支,主要是指從體系結構、并行算法和軟件
    發(fā)表于 05-24 23:29 ?4374次閱讀

    高性能計算發(fā)展與應用

    高性能計算發(fā)展與應用,感興趣的可以看看。
    發(fā)表于 03-24 17:12 ?0次下載

    計算高性能計算的區別及聯(lián)系

    近年來(lái),隨著(zhù)人工智能、AI智藥等科技領(lǐng)域的火熱,以及阿里云、騰訊云、華為云等互聯(lián)網(wǎng)大廠(chǎng)在各種場(chǎng)景下的成功應用。高性能計算、云計算這類(lèi)科技領(lǐng)域的詞匯也也逐漸進(jìn)入人們的日常生活。那么,什么是云計算
    發(fā)表于 06-26 14:30 ?3228次閱讀

    詳解Netty高性能異步事件驅動(dòng)的網(wǎng)絡(luò )框架

    大家好,今天我們來(lái)聊聊Netty的那些事兒,我們都知道Netty是一個(gè)高性能異步事件驅動(dòng)的網(wǎng)絡(luò )框架。
    的頭像 發(fā)表于 03-16 10:57 ?1611次閱讀

    高性能網(wǎng)絡(luò )框架之XDP技術(shù)解析

    談到高性能網(wǎng)絡(luò )處理,DPDK已成為用戶(hù)態(tài)網(wǎng)絡(luò )數據處理的基礎框架,其中最廣泛熟知的項目就是OVS-DPDK。然而由于DPDK完全旁路內核,這會(huì )導致TCP/UDP等協(xié)議棧需要在用戶(hù)態(tài)重新實(shí)現,且迄今
    的頭像 發(fā)表于 11-05 11:19 ?2424次閱讀
    <b class='flag-5'>高性能</b>網(wǎng)絡(luò )<b class='flag-5'>框架</b>之XDP技術(shù)解析

    異步IO框架iouring介紹

    前言 Linux內核5.1支持了新的異步IO框架iouring,由Block IO大神也即Fio作者Jens Axboe開(kāi)發(fā),意在提供一套公用的網(wǎng)絡(luò )和磁盤(pán)異步IO,不過(guò)io_uring目前在磁盤(pán)方面
    的頭像 發(fā)表于 11-09 09:30 ?792次閱讀
    <b class='flag-5'>異步</b>IO<b class='flag-5'>框架</b>iouring<b class='flag-5'>介紹</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看