< 返回版块

gensmusic 发表于 2023-10-23 18:55

让 Rust 编译器快 5% 的奇怪窍门

在 Linux 上,如果您启用了 Transparent Huge Pages,则可以尝试使用环境变量 MALLOC_CONF="thp:always,metadata_thp:always" 运行 cargo 以获得潜在的约 5% 的速度提升。

$ export MALLOC_CONF="thp:always,metadata_thp:always"
$ cargo build

原文链接

在 smol 中重构 并发 futures combinators

smol 是一个小型、快速的 Rust 异步库。它提供了一个简单的 API,用于并发地执行 futures。

futures combinators 是用于组合 futures 的函数。它们可以用于实现复杂的并发操作,例如并行执行 futures、等待多个 futures 完成、或将多个 futures 合并为一个 future。

本文介绍了如何在 smol 中实现 futures combinators。

原文链接

dioxus-material: dioxus + material design

这是一个 UI 框架, dioxus 中可以用的 material design, 目前项目刚开始.

使用例子:

Theme {
  Button { onclick: |_| log::info!("clicked!"), "Click me!" }

  Icon { kind: IconKind::Home, is_filled: true, size: 100. }

  TextButton { onclick: |_| log::info!("clicked!"), "Click me!" }

  TabRow {
      onselect: |idx| log::info!("{}", idx),
      tabs: cx
          .bump()
          .alloc([
              render!(Tab { "Tab 1" }),
              render!(Tab { "Tab 2" }),
              render!(Tab { "Tab 3" }),
          ])
  }

  TextField {
      label: "Text field",
      value: "{value}",
      onchange: move |event: FormEvent| value.set(event.value.clone())
  }
}

原文链接

预览地址

--

From 日报小组 BobQ, FBI小白

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页