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

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

3天内不再提示

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

OSC开源社区 来源:github.com 2023-11-28 11:23 次阅读

fish 是适用于 Linux、macOS 的命令行 Shell,其名字取于 "thefriendlyinteractiveshell" 的简称,最大特点就是方便易用、功能强大、智能并且用户友好。很多其他 Shell 需要配置才有的功能,fish 默认提供,不需要任何配置。

3f01447e-8d16-11ee-939d-92fbcf53809c.png

项目维护者 Fabian Boehm 今天在 GitHub 回应了使用 Rust 重写 Fish Shell的进度,称已几乎完成。

根据开发者的说法,他们已经完成了从 C++ 到 Rust 的大部分移植工作,但还有一些剩余的组件需要进行翻译。目前,他们正在处理与输入系统相关的读取器、屏幕处理、输入和分页器等强耦合组件。一旦这些组件完成翻译,剩下的工作就是一些零散的部分和去除构建系统的 C++ 依赖。

开发者表示,这不是一个适合临时贡献的项目,因为还有很多工作要做。

此外,开发者还回答了一些关于移植的问题和误解。他们表示不会删除所有的 C++ 代码,也没有计划移植到 Windows 平台。他们还表示不会更改 Fish Shell 的名称或吉祥物,并且对于最终移植的性能,他们表示早期结果是令人鼓舞的,但可能在某些情况下会比现有版本慢约 20%。

最后,他们提到即使完成了初始移植工作,项目也还有很多工作要做。

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

    关注

    87

    文章

    10991

    浏览量

    206735
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66771
  • Shell
    +关注

    关注

    1

    文章

    358

    浏览量

    22902
  • Rust
    +关注

    关注

    1

    文章

    223

    浏览量

    6387

原文标题:Fish Shell采用Rust重写会导致性能下降

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [鸿蒙]OpenHarmony4.0的Rust开发

    背景 Rust 是一门静态强类型语言,具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust 官方也使用 Cargo 工具来专门为 Rust 代码创建工程和构建编译
    的头像 发表于 02-26 17:28 310次阅读
    [鸿蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>开发

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

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

    踩坑rust的partial copy导致metrics丢失

    在 RisingWave 的存储代码中,我们使用 RAII [1] 的思想来对 LSM iterator 的 metrics 进行监控,从而避免在代码中忘记上报 metrics 而导致
    的头像 发表于 01-03 10:02 237次阅读

    fish-shell进化为Rust项目

    ripgrep 是一款面向行的搜索工具,可以递归地在当前目录中搜索正则表达式模式。默认情况下,ripgrep 将遵循 gitignore 规则并自动跳过隐藏文件/目录和二进制文件。ripgrep 在 Windows、macOS 和 Linux 上都有一流的支持,并为每个版本提供了二进制下载。
    的头像 发表于 11-29 16:25 201次阅读

    如何编写高性能Rust代码

    为了最大限度地提高Rust应用程序的性能,你需要了解支持代码的底层硬件架构,如何优化算法和数据结构,以及如何对代码进行配置和基准测试。在本文中,我们将简要介绍这些主题,希望能更好地理解如何编写高性能
    的头像 发表于 11-03 14:28 480次阅读
    如何编写高<b class='flag-5'>性能</b>的<b class='flag-5'>Rust</b>代码

    使用Rust优化Python性能

    在数据分析领域Python无疑是最流行的编程语言,但是Python有一个硬伤就是作为一个编译语言在性能上有些微的欠缺。而同样最流行的语言Rust则在性能方面表现优秀。本文我们一起学习一个优化项目的实践,对一个数据分析程序,改为
    的头像 发表于 11-01 15:59 467次阅读
    使用<b class='flag-5'>Rust</b>优化Python<b class='flag-5'>性能</b>

    Rust语言如何与 InfluxDB 集成

    Rust 是一种系统级编程语言,具有高性能和内存安全性。InfluxDB 是一个开源的时间序列数据库,用于存储、查询和可视化大规模数据集。Rust 语言可以与 InfluxDB 集成,提供高效
    的头像 发表于 09-30 16:45 616次阅读

    Rust GUI实践之Rust-Qt模块

    开发者创建高质量的应用程序,包括图形界面、网络、数据库等方面。 Rust-Qt 的优势在于 Rust 语言的安全性和高性能,以及 Qt 框架的强大功能和跨平台性。使用 Rust-Qt
    的头像 发表于 09-30 16:43 964次阅读

    如何在Rust中读写文件

    Rust是一种系统级编程语言,它的设计目标是提供安全、并发和高性能的编程体验。Rust的特点在于其内存安全性和线程安全性,它采用了一些创新性的技术,如所有权系统和生命周期,来解决C和C
    的头像 发表于 09-20 10:57 1191次阅读

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

    Rust是一种系统编程语言,它具有高性能、内存安全和并发性等特点。InfluxDB是一个开源的时序数据库,它专门用于存储和查询时间序列数据。InfluxDB 2.x是InfluxDB的新版本,它提供
    的头像 发表于 09-19 16:33 353次阅读

    如何在Rust中使用Memcached

    Memcached是一种高性能、分布式的内存对象缓存系统,可用于加速动态Web应用程序。Rust是一种系统级编程语言,具有内存安全、高性能和并发性等特点。Rust语言的Memcache
    的头像 发表于 09-19 16:30 882次阅读

    基于Rust的Log日志库介绍

    Rust是一门系统级编程语言,因其安全性、高性能和并发性而备受欢迎。在Rust应用程序中,日志记录是一项非常重要的任务,因为它可以帮助开发人员了解应用程序的运行情况并解决问题。Rust
    的头像 发表于 09-19 14:49 2128次阅读

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

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

    Windows 11初尝Rust,36000行内核代码已重写

    更早些时候,微软用 Rust 重写了 DirectWrite Core 库的概念验证,它是 Windows 的 DWrite 引擎的 Windows App SDK 实现,用于文本分析、布局和渲染
    的头像 发表于 05-19 16:39 674次阅读
    Windows 11初尝<b class='flag-5'>Rust</b>,36000行内核代码已<b class='flag-5'>重写</b>!

    Rust重写的LSP:KCL IDE 插件的功能介绍与设计解析

    在这次更新中,我们发布了全新的 KCL VS Code 插件,并且用 Rust 重写了 LSP 的 Server 端。我们提供了 IDE 中常用的代码辅助功能,如高亮、跳转、补全、Outline、悬停、错误提示等。
    的头像 发表于 05-11 09:39 605次阅读
    <b class='flag-5'>Rust</b><b class='flag-5'>重写</b>的LSP:KCL IDE 插件的功能介绍与设计解析