【Rust日报】2022-06-26 lnx 0.9,像 Elasticsearch 和 Algolia 这样的快速搜索引擎

2022-11-28 15:17:09 浏览数 (1)

Fastblur - 一个带有一些很酷的功能和过滤器的小型模糊工具

一个小而快速的 rust 工具,它可以模糊图像,具有很酷的功能,例如:

  • 比例因子
  • 缩小过滤器
  • 调整大小过滤器
  • 灰度缩放
  • 仅模糊特定区域

当我锁定我的电脑或笔记本电脑时,我喜欢它对当前状态进行截图,模糊图像并将模糊图像设置为锁定屏幕。过去,我使用 convert 来模糊我的图像,但 convert 是一个如此糟糕的工具,它需要很长时间才能模糊图像(尤其是大图像)。所以,这个想法是在 Rust 中创建一个小工具。就是这样,只是一个模糊图像的小工具。:)

最显着的区别之一是,转换需要 2 秒,并且会提升我所有的 16 个内核。CLIblur 只需要 460ms 并且在一个线程上运行。我还添加了一些很酷的功能和模糊效果,因此可以单独设置缩小和放大滤镜。:)

如您所见,看到图像中的细节但无法解密字符串看起来很棒!<3

您可以通过键入来安装它cargo install cliblur:)

请告诉我,你觉得这个工具怎么样?:)

二进制和源代码可以在这里找到:https ://gitlab.com/kerkmann/cliliblur

lnx 0.9,像 Elasticsearch 和 Algolia 这样的快速搜索引擎已经出来了! 技术讲座

大家好,好久不见。我很高兴终于能够说 0.9 的 lnx 在几个月不活动后终于出来了,我在为朋友构建网站后端时有点脱轨,并在 6 月做了一个相当愉快的关于 lnx 的技术谈话。

就上下文而言,lnx 是 Elasticsearch 和 Aloglia 的快速替代品,用 Rust 编写并建立在令人惊叹的 Tantivy 库之上。在不牺牲性能的情况下提供实用性和易用性的良好组合。事实上,快速模糊系统使模糊文本搜索几乎与常规文本搜索一样便宜,在 10 核机器上每秒可能查看数万次查询.

该代码位于https://github.com/lnx-search/lnx,该组织下包含各种其他工具和库,文档可在https://docs.lnx.rs

完整的变更日志可在 @ https://github.com/lnx-search/lnx/releases/tag/0.9.0获得关于它的小博客文章也可在 @ https://chillfish8.ghost.io/whats-new -in-lnx-0-9/

本月早些时候,我还在 Rust 伦敦聚会上做了一个技术演讲(也大大超过了时间限制),这可能会让任何无聊的人感兴趣:https ://www.youtube.com/watch?v =kzCYbZjJcTk

介绍第二栈

second-stack是一个切片的分配器,它不需要超过堆栈,但可能不适合堆栈本身。在内部,它是一个不断增长的堆栈。

second-stack最初是为在 WebGL 中编写动态缓冲区而开发的(例如:程序生成一些三角形/颜色,将它们写入缓冲区,然后每帧多次将它们交给显卡,而不会产生许多堆分配的成本)。但是,随着时间的推移,我发现需要一个短暂的切片是很常见的,并且在second-stack所有地方使用可以实现最佳的内存重用和性能。

潜在的进一步补充:

  • 放置非切片的大值
  • 释放 threadlocal 的 API(现在它在线程下降时被释放)
  • 全局启用/禁用功能标志,因此库可以毫无顾忌地使用它,但让应用程序决定它是否对其线程模型有意义。(禁用时,将为每个调用分配一个 Vec,但使用相同的外部 API)

链接:

  • Docs.rs
  • crates.io
  • Github

From 日报小组 时光

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss
  • 微信公众号:Rust 语言中文社区

0 人点赞