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

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

3天内不再提示

fish-shell进化为Rust项目

jf_wN0SrCdH 来源:Rust语言中文社区 2023-11-29 16:25 次阅读

wgpu提高多线程中性能

gfx-rs 是一个在 Rust 中实现跨平台图形处理的项目。该项目的最新进展是名为 "Arcanization" 的重大重构,目的是提高在多线程中使用 wgpu 时的性能。Arcanization 重构
  • Arcanization 旨在减少 wgpu 内部的锁争用,提供更好的性能。
  • 该重构通过将资源移动到原子引用计数指针(Arc)后,显著降低了锁争用。
  • 多线程使用 wgpu 的性能显著提高,例如在测试场景中,帧时间降低了45%。
解决的问题
  • wgpu 内部存储所有资源的数组导致了锁争用和性能问题。
  • Arcanization 将资源存储方式从直接数据更改为 Arc,显著减少了锁的持有时间。
原文链接https://gfx-rs.github.io/2023/11/24/arcanization.html

Rust中的惯用法:构造函数与转换

这篇文章讨论了从C++过渡到Rust的经验,重点关注构造函数和类型转换, 供C++开发人员参考:
  1. 初始化:在C++中,构造函数用于初始化实例,在Rust中通过关联函数(如new)实现。
  2. 强制不变性:构造函数有助于强制类型的不变性。在Rust中,可能失败的构造函数返回Result
  3. 默认构造函数:在C++中,默认构造对于许多操作都很重要,在Rust中通过实现Defaulttrait实现,通常使用#[derive(Default)]进行简化。
  4. 复制构造函数:在C++中的复制构造函数在Rust中通过实现Clonetrait实现,以允许显式复制。
  5. 可平凡复制类型:C++中的可平凡复制类型概念类似于Rust的Copytrait,允许进行字节对字节的复制。
  6. 移动构造函数:Rust的移动语义消除了C++中移动构造函数的需求。
  7. 类型转换:C++中的转换构造函数在Rust中通过实现FromIntotrait实现,强调了显式性,而可能失败的转换使用TryFromTryIntotrait。
这篇文章强调了Rust的显式和注重安全性的编程方式,鼓励开发人员在代码中保持显式,即使编译器可以推断出某些行为。文章提供了实际示例,并比较了C++和Rust的构造。 原文链接https://geo-ant.github.io/blog/2023/rust-for-cpp-developers-constructors/

ripgrep: 14.0.0版本发布

ripgrep 是一款面向行的搜索工具,可以递归地在当前目录中搜索正则表达式模式。默认情况下,ripgrep 将遵循 gitignore 规则并自动跳过隐藏文件/目录和二进制文件。ripgrep 在 Windows、macOS 和 Linux 上都有一流的支持,并为每个版本提供了二进制下载。 目前版本 14.0.0 的 发布了,包含了一些新功能、性能改进和大量的 bug 修复。 原文链接https://github.com/BurntSushi/ripgrep/releases/tag/14.0.0

ts_quote: 从 Rust 中生成 typescript 代码

这个 crate 提供了一些准引用宏,用于从 Rust 内部生成 TypeScript 代码.
这让在 Rust 中编写一些 typescript 的代码生成有了个多的选择.
下面是一些例子:

	let ts: String = ts_string! { const foo: number = 42; } // 生成的 typescript代码是: "const foo: number = 42;" let name = "foo"; let value: u32 = 7; let ts: String = ts_string! { const #name: number = #{value + 1}; } // 生成的 typescript代码是: "const foo: number = 8;"
		github地址https://github.com/spencerkohan/type_reflect/tree/main/ts_quote

fish-shell 进化为 Rust 项目

fish-shell 是一个用户友好的命令行 Shell. 原本是用C++编写, 在两年前开始使用 Rust 进行迁移, 目前, 整体仓库的 Rust 代码占比为 53%, 已经成功进化为 Rust 项目. github 地址https://github.com/fish-shell/fish-shell -- From 日报小组 BobQ, FBI小白 社区学习交流平台订阅:
  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区

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

    关注

    2

    文章

    707

    浏览量

    41250
  • Shell
    +关注

    关注

    1

    文章

    358

    浏览量

    22903
  • Rust
    +关注

    关注

    1

    文章

    223

    浏览量

    6387

原文标题:fish-shell 进化为 Rust 项目

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

收藏 人收藏

    评论

    相关推荐

    Rust GUI实践之Rust-Qt模块

    Rust-Qt 是 Rust 语言的一个 Qt 绑定库,它允许 Rust 开发者使用 Qt 框架来创建跨平台的图形界面应用程序。Qt 是一个跨平台的应用程序框架,它提供了一系列的工具和库,可以帮助
    的头像 发表于 09-30 16:43 965次阅读

    如何从shell/命令行打包项目

    我有一个shell脚本(OSX.command shell缺省bash脚本),可以通过做一些类似的操作来清理和构建项目,我也希望能够从shell脚本中打包
    发表于 10-24 12:24

    只会用Python?教你在树莓派上开始使用Rust

    结合起来,并在Raspberry Pi上安装Rust。设置Raspberry Pi对于此项目,您将需要:Raspberry PiLED。220-1k欧姆电阻。面包板和接线。使用GPIO 18连接到LED
    发表于 05-20 08:00

    怎样去使用Rust进行嵌入式编程呢

    使用Rust进行嵌入式编程Use Rust for embedded development篇首语:Rust的高性能、可靠性和生产力使其适合于嵌入式系统。在过去的几年里,Rust在程序
    发表于 12-22 07:20

    如何利用C语言去调用rust静态库呢

    持续。rust整个结构还不是特别清晰,特别是库和wrapper相关的同个C项目,包含多个rust的静态库,静态库中也会有符号冲突这点应该可以把多个rust程序打包一个库来解决。能否准确
    发表于 06-21 10:27

    如何在STM32 (Cortex M3)和GD32(RISC-V)上用Rust开发

    Preface最近 Mozilla 的 Rust 和 Google 的 Golang 两门新语言非常受关注。不过 Golang 除了 Docker 这个标志性的项目,在服务端配合 gRPC 也已经
    发表于 06-21 10:38

    Rust代码中加载静态库时,出现错误 ` rust-lld: error: undefined symbol: malloc `怎么解决?

    “ [i]malloc ”、“ [i]exit ”。我验证了使用 ` [i]nm ` 命令。 问题是我打算使用 ffi 在 rust 中使用这个静态库。当我尝试在我的 Rust 代码中加载静态库
    发表于 06-09 08:44

    Centrifugal fish autofeeder

    Centrifugal fish autofeeder This easy as well as cheap but effective device is mainly intended for your ease to leave your fish autofed
    发表于 03-28 22:31 554次阅读
    Centrifugal <b class='flag-5'>fish</b> autofeeder

    fish-shell友好交互式shell

    ./oschina_soft/fish-shell.zip
    发表于 05-26 15:27 1次下载
    <b class='flag-5'>fish-shell</b>友好交互式<b class='flag-5'>shell</b>

    Rust Web Development》提供了完整的 Rust Web 开发指南

    一个 web 项目(并将其带入生产),并提供了框架无关的深入探讨。 "Rust Web Development"(Manning出版社)一书已经发布并可以购买。各位!在经过了两年多的编辑和重新
    的头像 发表于 12-09 11:43 1380次阅读

    Google在Chromium项目中支持使用Rust

    Rust 1.66.1 发布 Rust 1.66.1 修复了 Cargo 在使用 SSH 克隆依赖项或注册表索引时不验证 SSH 主机密钥的问题。此安全漏洞被跟踪为 CVE-2022-46176
    的头像 发表于 01-16 10:52 1246次阅读

    一个用Rust开发的压测工具rsb

    一个用 Rust 开发的压测工具,项目地址:rsb,给个 star 鼓励下。
    的头像 发表于 03-21 09:32 567次阅读

    如何在Rust项目中使用InfluxDB 2.x

    了更好的性能和更好的用户体验。Rust语言提供了InfluxDB 2.x的官方客户端库,可以方便地在Rust项目中使用InfluxDB 2.x。 本教程将介绍如何在Rust
    的头像 发表于 09-19 16:33 354次阅读

    Fish Shell采用Rust重写会导致性能下降

    fish 是适用于 Linux、macOS 的命令行 Shell,其名字取于 "the friendly interactive shell" 的简称,最大特点就是方便易用、功能强大、智能并且用户友好。很多其他
    的头像 发表于 11-28 11:23 209次阅读
    <b class='flag-5'>Fish</b> <b class='flag-5'>Shell</b>采用<b class='flag-5'>Rust</b>重写会导致性能下降

    一次Rust重写基础软件的实践

    受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着将一款C语言开发的基础软件转
    的头像 发表于 01-25 11:21 273次阅读