头一次知道 "
刚探索把 Yazi TUI 从
然后发现这个讨论,https://github.com/ratatui-org/website/issues/274 ,
stdout was ~2.5x faster that stderr"刚探索把 Yazi TUI 从
stdout 换到 stderr,这样就能让 stdout 空出来干其它事,比如退出时打印文件路径。然后发现这个讨论,https://github.com/ratatui-org/website/issues/274 ,
stderr 比 stdout 要慢,原因是 stderr 没缓冲,得自己包一个。(谢谢依云姐姐浇浇)GitHub
Add stdout / stderr performance to FAQ · Issue #274 · ratatui-org/website
https://ratatui.rs/faq/#should-i-use-stdout-or-stderr See ratatui-org/ratatui#583 (comment) Valentin271 Dec 13, 2023 Oh that's interesting, stdout is also faster on my machine from ~1.60 to ~2 ...
👍5
为什么 stdout 比 stderr 快?
这篇博客从 I/O 流如何工作,到 TUI app 如何工作,再到如何测量 TUI FPS/性能,以及涵盖各语言的针对性优化 - 如何让 stderr 变快,如何让 stdout 变更快,非常值得一读!
BTW我也参与了该文审阅,虽然只修了几个typo,但是一次奇妙的旅程。
https://blog.orhun.dev/stdout-vs-stderr/
这篇博客从 I/O 流如何工作,到 TUI app 如何工作,再到如何测量 TUI FPS/性能,以及涵盖各语言的针对性优化 - 如何让 stderr 变快,如何让 stdout 变更快,非常值得一读!
BTW我也参与了该文审阅,虽然只修了几个typo,但是一次奇妙的旅程。
https://blog.orhun.dev/stdout-vs-stderr/
blog.orhun.dev
Why stdout is faster than stderr? - Orhun's Blog
Here be rats
👍10
Yazi 终端文件管理器 v0.2.0 发布!
这个版本新增了对自定义预览器、自定义预加载器的支持,并且已经完成了并发插件系统的大部分工作。
此外,它包括许多性能优化,比如重写整个文件系统、重构整个UI渲染架构、增强任务调度系统,并为频繁更新的组件实现了部分渲染。
这个版本还引入了许多有意义的新功能,比如路径自动补全、实时文件过滤、Kitty Unicode placeholders 协议支持。详细信息请参阅下面的变更日志。
这是一个破坏性变更的版本,请参考我们的升级指南:迁移到 Yazi v0.2.0
https://github.com/sxyazi/yazi/releases/tag/v0.2.0
这个版本新增了对自定义预览器、自定义预加载器的支持,并且已经完成了并发插件系统的大部分工作。
此外,它包括许多性能优化,比如重写整个文件系统、重构整个UI渲染架构、增强任务调度系统,并为频繁更新的组件实现了部分渲染。
这个版本还引入了许多有意义的新功能,比如路径自动补全、实时文件过滤、Kitty Unicode placeholders 协议支持。详细信息请参阅下面的变更日志。
这是一个破坏性变更的版本,请参考我们的升级指南:迁移到 Yazi v0.2.0
https://github.com/sxyazi/yazi/releases/tag/v0.2.0
👍6
给 Yazi 做了点优化,现在加载大目录比之前快了 ~2.5 倍。
对一个包含 500,000 文件的目录 benchmark:
-
-
-
具体见 https://github.com/sxyazi/yazi/pull/599
对一个包含 500,000 文件的目录 benchmark:
-
eza -l,耗时 19.03s-
ls -l,耗时 10.99s-
yazi,耗时 4.79s具体见 https://github.com/sxyazi/yazi/pull/599
GitHub
perf: read directory in bulk in the background at startup by sxyazi · Pull Request #599 · sxyazi/yazi
Fixes #596
This PR optimizes the speed of reading large directories, leveraging the advantages of concurrency, it is ~2.5 times faster than before.
Here is a benchmark with a directory containing 5...
This PR optimizes the speed of reading large directories, leveraging the advantages of concurrency, it is ~2.5 times faster than before.
Here is a benchmark with a directory containing 5...
👍7❤1
This media is not supported in your browser
VIEW IN TELEGRAM
群友太强了,给 Yazi 实现了一个类似 flash.nvim 的导航插件,虽然还只是第一个版本,但已经支持了 3 种不同的模式,欢迎体验&反馈!
https://github.com/DreamMaoMao/keyjump.yazi
https://github.com/DreamMaoMao/keyjump.yazi
👍3
Media is too big
VIEW IN TELEGRAM
糊了个 TUI 版的通知组件,为了性能做了挺多优化:
- 直接 composite 到上个 frame,因此只需要渲染通知组件的部分
- 部分擦除图片重叠的区域,通知消失后重新渲染图片(这个调了挺长时间,因为图片和 TUI 不在同个 render pipeline)
- 完全 Rust async + Event driven
https://github.com/sxyazi/yazi/pull/659
- 直接 composite 到上个 frame,因此只需要渲染通知组件的部分
- 部分擦除图片重叠的区域,通知消失后重新渲染图片(这个调了挺长时间,因为图片和 TUI 不在同个 render pipeline)
- 完全 Rust async + Event driven
https://github.com/sxyazi/yazi/pull/659
👍6
Media is too big
VIEW IN TELEGRAM
看了群友给 Yazi 写的预览插件,太tm炫酷了,内置的预览器不香了🥲
决定了,下个版本大力完善内置 Previewer!
群友 GitHub https://github.com/urie96/preview.yazi ,需要自取(x
决定了,下个版本大力完善内置 Previewer!
群友 GitHub https://github.com/urie96/preview.yazi ,需要自取(x
👍11
Media is too big
VIEW IN TELEGRAM
一老哥回来分享了他的 Zed + Yazi 工作流,好酷,从来没想过可以这么用。
https://github.com/sxyazi/yazi/discussions/829
https://github.com/zed-industries/zed/discussions/9067
https://github.com/sxyazi/yazi/discussions/829
https://github.com/zed-industries/zed/discussions/9067
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
群友猫猫写了个新 Yazi 插件,fg.yazi
通过 fzf + rg 实时搜索文件内容,和 telescope.nvim 的 Live grep 很像。生产力++
https://github.com/DreamMaoMao/fg.yazi
通过 fzf + rg 实时搜索文件内容,和 telescope.nvim 的 Live grep 很像。生产力++
https://github.com/DreamMaoMao/fg.yazi
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
新出炉 Yazi 的 Neovim 插件 - yazi.nvim,这是目前功能最丰富的:
• 分屏
• 发送到快速修复
• buffer 同步:Yazi 删除/移动/重命名后,Neovim 也能自动更新,用上了新的数据分发服务
• 替换 Netrw
发现这个插件还写了巨多测试,在 GitHub Actions 上跑,好厉害。
https://github.com/mikavilpas/yazi.nvim
• 分屏
• 发送到快速修复
• buffer 同步:Yazi 删除/移动/重命名后,Neovim 也能自动更新,用上了新的数据分发服务
• 替换 Netrw
发现这个插件还写了巨多测试,在 GitHub Actions 上跑,好厉害。
https://github.com/mikavilpas/yazi.nvim
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Yazi 现在支持跨实例 yank-paste 了,在一个实例 copy/cut 文件后,在另一个实例 paste。
这对使用窗口管理器、终端复用器,同时运行多个 Yazi 的用户很有用。它基于最新 DDS(数据分发服务)实现。
要启用它,参见 https://yazi-rs.github.io/docs/dds#session.lua
这对使用窗口管理器、终端复用器,同时运行多个 Yazi 的用户很有用。它基于最新 DDS(数据分发服务)实现。
要启用它,参见 https://yazi-rs.github.io/docs/dds#session.lua
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Helix + Zellij + Yazi 工作流
Helix 一直缺 File explorer,于是 Reddit 上有老哥想出了和 Yazi 一起用的方法。
这是他的配置 https://yazi-rs.github.io/docs/tips/#helix-with-zellij
Helix 一直缺 File explorer,于是 Reddit 上有老哥想出了和 Yazi 一起用的方法。
这是他的配置 https://yazi-rs.github.io/docs/tips/#helix-with-zellij
👍7
我草,是偶像的 issue!wwwwww
https://github.com/sxyazi/yazi/issues/1026
https://github.com/sxyazi/yazi/issues/1026
GitHub
Exiting yazi leaves some ascii characters in terminal · Issue #1026 · sxyazi/yazi
What system are you running Yazi on? Linux X11 What terminal are you running Yazi in? rxvt-unicode (urxvt) v9.30 Did you try the latest code to see if this problem got fixed? Tried, but the problem...
🥰8