#coffee #blazing-fast #compile-time #cargo-build #relax

构建 coffee_break

在代码编译时休息一下

2 个稳定版本

2.1.1 2024年4月9日
1.0.0 2024年3月22日

构建工具 中排名第 272

Download history 1/week @ 2024-04-22 7/week @ 2024-06-10

每月下载 84

JSON 许可证

9KB
63

咖啡休息时间

crates.io badge docs.rs badge

Coffee break

咖啡休息时间是一个 🔥 极快 🚀 的 🦀 Rust 🥵 库,由 Rust 开发者为 Rust 开发者创建。它是

  • 开发者友好:在编译代码时让你休息一下。
  • 环保:编译器只是在打个小盹。我们不会只是为了放松而计算阿克曼函数。
  • 对语言服务器不友好rust-analyzer 现在失眠了。

概述

XKCD compiling

一个经典的 XKCD 网络漫画

在 2023 年 Rust 调查的受访者中,有 45% 的人对 Rust 的编译时间表示担忧,他们是对的:它们 太快了

在以前,当我们处理旧的 C++ 项目时,在编译完成后,我们会得到 10 到 40 分钟的自由时间来做我们想做的事情。开发者的计算机最多只有 2 到 4 个 CPU 核心,Makefile 通常没有配置为并行运行。

现在,狡猾的 Rust 编译器开发者正试图使编译器更快,并且他们正在逐渐取得成功。

这就是为什么有 咖啡休息时间,这是一个友好的开发者工具,可以解决这个问题。

示例

在运行 cargo build 之前,用咖啡休息时间奖励自己

use coffee_break::coffee_break;

fn work_stuff() {
    let maybe = |(true|false)||(false|true)||(true|false)|true;
    let absolutely = maybe(true)(true)(true);

    // Take a break and hit compile
    coffee_break!(5 minutes);
}

你现在有 5 分钟时间伸伸腿,喝杯咖啡,或者让周五下午变得更好。

你可以休息最多 251 分钟,或者最多 1319 秒。这些限制是随机的,并且 不会 因任何原因更改,除非作者改变主意。

这个包需要正确的语法

fn work_stuff() {
    coffee_break!(1 second); // OK
    coffee_break!(5 minutes); // OK
    // coffee_break!(59 second); // Error
    // coffee_break!(1 minutes); // Error
}

你仍然可以在不等待的情况下运行 cargo checkcargo clippy

备注

作者不喝咖啡,但仍然喜欢休息一下。

贡献

在为此项目做出贡献之前,先休息一下喝杯咖啡。

欢迎提交PR。任何PR信息的开头段落必须是一首描述更改的俳句。

请遵循社区准则

许可证

本项目根据JSON许可证授权,许可证由许可证制定。邪恶不值得休息。

贡献

除非你明确表示否则,你提交给Coffee break的任何有意包含的贡献,将使用此存储库的许可证,不附加任何额外条款或条件。

依赖项

~270–720KB
~17K SLoC