问题标签 [rayon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rust - 使用 Rayon 对哈希图进行分块
是否可以使用 Rayon 将 HashMap 中的数据分块?我看到了几种分块方法,但它们似乎想要在切片(或类似的东西)上工作。
代码编译没有错误,vec
但所有HashMap
尝试都失败并出现“没有名为...
”的错误。
编辑:关于如何将现有迭代器与人造丝一起使用的问题没有回答这个问题。这个问题是如何获得一个对哈希映射进行分块的迭代器。
回答
分块哈希映射的方法如下:
rust - 货物火焰图不适用于人造丝
我正在尝试分析看起来像的代码
par_iter
来自人造丝。
这段代码运行缓慢,所以我试图通过类似的命令使用 cargo-flamegraph 对其进行分析
当我更改par_iter
为 时iter
,我在火焰图中看到合理的东西,表明这Frame::update
需要一些时间,并且各种HashMap
方法都需要一些时间。
如果我使用par_iter
的是充满人造丝的调用,但看起来它实际上并没有从人造丝创建的线程中给我任何结果。人造丝消费者和助手和桥梁有很多条目,但我的代码没有出现。我查看了 flamegraph.svg 并Frame:
没有出现。(顺序版本有Frame::update
。)
我需要做些什么来让火焰图也分析线程吗?
rust - 如何使用 Rayon 的并行折叠创建 HashMap?
我正在尝试创建一个HashMap
使用函数式编程并利用rayon
.
如果我在没有 的情况下尝试这个rayon
,它会起作用:
如果我尝试通过从 切换到 来使用多个内核iter()
,par_iter()
我会收到错误消息:
显然,Rust 试图阻止我做一些涉及竞争条件的愚蠢的事情,但是我将如何构建一个HashMap
inside apar_iter()
呢?
string - 如何使用 Rayon 和 Rust 将字符串转换为并行迭代器?
我正在尝试将下面的代码转换为并行迭代器以提高性能:
但 Rayon 不支持.into_par_iter()
该Enumerate
结构。而且对于 Rust 来说相对较新,我不确定如何解决这个问题。大多数其他问题都涉及向量,但它不在这里,因为我正在尝试执行以下操作:
- 获取一个字符串:
String::from("Lorem ipsum dolor sit amet")
- 使用
.split(" ").enumerate()
把它变成一个向量:vec!["Lorem", "ipsum", "dolor", sit", "amet"]
那么如何让上面的代码并行运行呢?
arrays - 使用唯一索引数组并行写入数组
这个问题类似于 使用索引数组并行写入数组, 除了我保证索引是唯一的。
有没有办法在人造丝中实现这一目标?也许我应该以某种方式使用unsafe
,因为显然借用检查器无法验证索引的唯一性。
multithreading - 为什么 Condvar 线程永远不会唤醒?
此代码运行完成并打印出my_data
如果我取消注释函数中的sleep
行的do_work
值。如果我把它注释掉,我的可执行文件每次都会挂起。
为什么 Condvar 不唤醒最后一个线程?提到收集句柄并等待它们加入主线程,但这应该由人造丝作用域处理,对吗?
sleep
如果没有 in 中的语句,我如何才能完成此代码do_work()
?
Cargo.toml 依赖项:
这是对do_work
稍后将进行的更复杂数学的测试,但我试图获得一系列成功修改较大的Vec
.
rust - 保存图像时,Rust rayon crate par_iter().map() “停止”
我正在尝试从这个链接的 rust-cookbook 示例中的数据并行示例中学习 Rust。
但是,当我运行代码时(我认为是正确的依赖项),并行迭代器函数没有完成。这是我正在努力的确切回购。
当我cargo run
在包含 5 个图像的项目的根目录下运行时,我在控制台中得到以下信息。
但是,没有创建任何缩略图,并且程序永远不会退出。代码编译。
在我正在努力学习 Rust的另一个小 CLI中,我遇到了同样的问题,但我认为食谱中的示例更容易使用。
任何提示,即使是我可能会寻找的,将不胜感激。我想知道它是否与机器有关。
rust - 如何用人造丝迭代数组?
我是新手,我正在尝试使用人造丝从一系列 URL 中获取响应
但我收到了这个错误