rust - 如何使用多个内核编译单个 crate?
问题描述
我有一个单独的板条箱,里面只有大约 10k 行结构和枚举。
在我的 MacBook Pro 2.8Ghz 双核上运行需要 10 到 60 秒。
我使用了另一个具有 16 个内核、3.5Ghz 的 Linux VM,但编译时间大致相同——它似乎只使用了一个内核。
我应该使用某些标志或工作区配置吗?
可以将代码拆分为多个 crates,但是类型之间的依赖循环意味着我只需要包含所有其他工作区 crates 类型use workspace::crate-x::*
- 这仍然会缩短编译时间吗?
启用缓存但在单个 crate 中不发生缓存的工作空间是什么?
我不希望仅仅为了启用货物构建缓存而将我的代码分成任意块。
此外,根据https://pingcap.com/blog/rust-huge-compilation-units,您只能在单个 crate 中包含循环类型,因为 crate-crate 导入必须形成 DAG。所以这意味着我不能在不破坏循环依赖的情况下将我的单个 crate 拆分为多个 crate?
解决方案
推荐阅读
- r - 更改 R 中的数据帧结构
- node.js - 不推荐使用 body-parser 未定义扩展:提供扩展选项 server.js:11:20
- css - 'stop'元素的ReactJS'offset'属性不应用作为参数传递的值
- javascript - 在纯JS中动态隐藏具有相同类的对象
- android - Android Studio:无法解析“上下文”中的方法“getWindowManager”
- laravel - 使用 laravel 搭建登录系统
- c# - 解析响应 qnamaker
- php - 有人可以在这个地方帮助我吗?在 laravel 5.8 版中运行命令“composer require laravel / socialite”时出现错误
- python - 如何在 Graphviz 中指定边连接到节点的位置
- java - 我的项目需要哪些接口、抽象类和类?