Julia 中 @sync @async 的并行性

2024-01-03

我有一些繁重的 csv 表,我想与 @sync @sync 宏并行导入。 对此不太熟悉,我尝试了以下方法:

#import files
@sync @async begin
    df1=CSV.File(libname*"df1.csv")|> DataFrame!
    df2=CSV.File(libname*"df2.csv")|> DataFrame!
end

我已经完成了任务,但是我之后创建的数据子集似乎受到了影响:

select!(df1, Not("Var1"))

ArgumentError : Column :Var1 not found in the data frame

PS:没有@sync宏,代码运行良好

我可能做错了什么。任何想法都会有帮助。 谢谢


@sync @async除了引入一个之外,不要在代码中执行任何操作begin... end块及其本地范围。

这里发生的情况是,您正在创建一个新范围,并且永远不会修改全局值df1 and df2- 而不是你看到的是他们旧的价值观。

如果 I/O 是代码中的瓶颈,则正确的代码如下:

dfs = Vector{DataFrame}(undef, 2)
@sync begin
    @async dfs[1]=CSV.File(libname*"df1.csv")|> DataFrame!
    @async dfs[2]=CSV.File(libname*"df2.csv")|> DataFrame!
end

然而,通常问题不是 I/O,而是 CPU。在这种情况下,绿色线程没有多大用处,您需要普通的常规线程:

dfs = Vector{DataFrame}(undef, 2)
Threads.@threads for i in 1:2
    dfs[i]=CSV.File(libname*"df$i.csv")|> DataFrame!
end

请注意,要使此代码使用多线程,您需要设置JULIA_NUM_THREADS运行 Julia 之前的系统变量,例如:

set JULIA_NUM_THREADS=2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Julia 中 @sync @async 的并行性 的相关文章

  • 按列名合并 3 个 data.frames

    我有3个独立的data frames 他们三个data frames具有相同的列数和相同的行数 此外 它们具有相同的列名称 我正在尝试根据列名称合并三个 data frames 我使用下面的代码来合并两个 data frames 并返回匹配
  • 如何在 pandas 数据框中的每一行上运行函数并在满足条件时停止它

    我有一个 DataFrame 我在每一行上运行一个函数 该函数比较行中的值 一旦满足条件 行元素之一就会添加到字典中 此时我想结束该函数 它不是传统的循环 所以我不能使用break 我应该使用不同的方法将该函数应用于每一行还是有办法停止ap
  • 将 pandas Dataframe 的列乘以不同的标量

    我有一个熊猫数据框df有柱子col 1 col 2 col n 我想将 pandas Dataframe 的每一列乘以基于该列的不同标量 例如 将中的每个元素相乘col 1 by n 1 中的每个元素col 2 by n 2 etc 做到这
  • 同步2个具有不同模式的数据库

    我们有一个使用通用表设计的标准化 SQL Server 2008 数据库 因此 我们没有为每个实体 例如产品 订单 订单项等 使用单独的表 而是使用通用表 实体 实例 关系 属性等 我们决定建立一个单独的非规范化数据库来快速检索数据 您能否
  • Angularjs $http 等待响应

    我是 javascript angularjs 的新手 我想在某些元素上完成鼠标悬停时显示引导弹出窗口 我为此创建了一个指令 function angular app app directive popOver window http fu
  • 将带有日期的列转换为 R 中的行

    假设 R 中有一个如下所示的 data frame d data frame 2019q1 1 2019q2 2 2019q3 3 看起来像这样 X2019q1 X2019q2 X2019q3 1 1 2 3 我怎样才能把它变成这样 Yea
  • 将 pandas DataFrame 中的数字转换为特定字符串格式

    我需要运行一个可以通过循环完成的任务 但我想有一种更有效 更漂亮的方法来做到这一点 我有一个DataFrame它有一个整数列 我想将其转换为 4 位字符串表示形式 也就是说 3 应转换为 0003 234 应转换为 0234 我正在寻找一种
  • 所有 C++ 编译器都支持 async/await 关键字吗?

    我想用async awaitC UE4 框架 中的语法 但由于跨平台代码 我不确定这是否可能 或者可能 如果是 我该如何使用它 而且还有await and await resumable yield and yield value另外 在
  • 如何抑制spark输出控制台中的“Stage 2===>”?

    我有数据帧并试图获取不同的计数并且能够成功获取不同的计数 但是每当 scala 程序执行时我都会收到此消息 Stage 2 gt 1 1 2 我如何在控制台中抑制特定的此消息 val countID dataDF select substr
  • 除下一行的值并在数据框中创建列

    我有一个像这样的csv id value 1 100 1 150 1 200 1 250 2 300 2 350 2 400 2 450 我想根据每个唯一 ID 的值生成一列 例如 id 1 的前 2 行值为 100 150 我正在尝试创建
  • 如何使用 C#8 IAsyncEnumerable 异步枚举并行运行的任务

    如果可能的话 我想为并行启动的任务创建一个异步枚举器 因此 首先完成的是枚举的第一个元素 第二个完成的是枚举的第二个元素 依此类推 public static async IAsyncEnumerable
  • 闪亮错误:参数暗示行数不同

    我正在尝试开发一个简单的应用程序 从 Kijiji 网站获取本地分类广告 我用几乎相同的脚本制作了一个类似的应用程序 但我没有收到下面描述的错误 所以我不知道这个脚本出了什么问题 我尝试了我能想到的一切 但无法让它发挥作用 的结构df数据框
  • Python Pandas——用前一列的值向前填充整行

    pandas 开发新手 如何使用先前看到的列中包含的值向前填充 DataFrame 独立的示例 import pandas as pd import numpy as np O 1 np nan 5 np nan H 5 np nan 5
  • R 根据事件更新值

    我最近发布了这个问题 该问题已经与我在笔记本电脑上本地使用的 Mysql 数据库相关 由于我在 Mysql 中没有找到问题的解决方案 其他人似乎也没有找到解决方案 所以我想再次发布它 但现在与 R 相关 我使用带有 RMysql 包的数据库
  • 计算例如具有多列 data.frames 的列表中的平均值

    我有几个 data frames 的列表 每个 data frame 有几列 通过使用mean mylist first dataframe a我可以得到这个 data frame 中 a 的平均值 但是我不知道如何计算列表中存储的所有 d
  • Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)

    我希望在数据帧中的每一行的局部范围内进行计算 同时避免速度缓慢for环形 例如 对于下面数据中的每一行 我想找到未来 3 天内 包括当天 的最高气温以及未来 3 天内的总降雨量 Day Temperature Rain 0 30 4 1 3
  • python 中的异步编程

    python 中有异步编程的通用概念吗 我可以为一个函数分配一个回调 执行它并立即返回主程序流 无论该函数的执行需要多长时间吗 您所描述的 主程序流程在另一个函数执行时立即恢复 不是通常所说的 异步 又名 事件驱动 编程 而是 多任务 又名
  • future::select 之间有什么区别!和东京::选择?

    我正在使用 Tokio 我想接收来自两个不同的请求mpsc队列 select 似乎是要走的路 但我不确定两者之间有什么区别futures select and tokio select 在什么情况下应该使用其中一种而不是另一种 tokio
  • Node.js 中的异步或步骤

    我无法让我的异步代码与 node js 一起使用 尝试异步和步骤库 代码仅返回第一个函数 似乎没有执行其余函数 我究竟做错了什么 thanks var step require step step function f1 console l
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar

随机推荐

  • 如何生成锯齿状数组的笛卡尔积?

    我在弄清楚如何生成锯齿状数组的笛卡尔积时遇到了一些麻烦 我用谷歌搜索过 但我似乎找不到迭代语言的实现 所以我试图自己解决这个问题 但我遇到了障碍 让我们更清楚地定义问题 假设我有一个数组数组 如下所示 A 1 2 3 4 5 6 我该如何从
  • 会话范围的 Spring MVC 控制器上的 @PreDestroy

    Given a RestController像这样 RestController Scope session public class MyController PreDestroy public void onSessionDestroy
  • 如何在c#中绘制圆角矩形

    我正在使用这段代码来制作一个圆角矩形 但它只绘制了矩形的左上角和右上角 更没有完成下部的矩形 如何让它完整 充实 我应该做出哪些改变 public static Bitmap DrawRoundedRectangle Bitmap Imag
  • GO中如何检查切片是否在切片内部?

    我有以下代码 func main l1 string a b c l2 string a c l2 in l1 我可以使用循环和标志来检查这一点 但是有没有一种简单的方法来检查 l2 是否在 l1 内部 就像 python 命令 l2 in
  • Eclipse 调试 Android 不起作用

    大家好 我在调试 Android 应用程序时遇到 Eclipse 问题 我放置的所有断点都不起作用 应用程序不会停止 它们会因为未放置而被跳过 有办法让它们发挥作用吗 我有Win7 JDK 6u23 64位 Eclipse 3 6 64位
  • 计算MLLIB SVM多类概率

    我想知道如何在多类分类问题中使用 Spark MLLIB SVM 计算概率 文档显示没有这样的功能可用 LibSVM https stackoverflow com questions 7802556 regarding probabili
  • sql join 连接3个表

    这个有点奇怪 有人写了一条在我看来不应该工作的sql 但它确实有效 而且还返回了正确的结果 我写了一个简化的例子 但我认为它说明了要点 drop table client drop table transactions drop table
  • 这个 Urikind.relative 到底是什么意思

    我正在做的是 当我选择一行并单击显示按钮时 我将有一个 datagridview 我想显示图像以及我编写以下代码的一些信息 public partial class WpfWindow Window private UCPersons uc
  • Python:如果目录是符号链接,则 getcwd 和 pwd 给出不同的结果

    如果我的工作目录是符号链接 os getcwd and os system pwd 不给出相同的结果 我想用os path abspath 故意获取我的工作目录 或其中的文件 的完整路径 而不是得到与以下结果相同的结果os path rea
  • 通过 Cisco VPN 更新存储库时,Subversion 报告“格式错误的网络数据”

    我正在使用 Cisco VPN 在 Windows 7 Ultimate 64 位上 连接到我的公司网络 当我检查 svn 存储库时 下载一些文件后 2 或 3 秒我不断收到此错误 该问题发生在 TortoiseSVN 1 5 9 和 Sl
  • 在 Visual Studio 中使用命令行参数进行调试

    我正在 Visual Studio 中开发 C 命令行应用程序 需要使用命令行参数对其进行调试 目前我只是使用我需要的参数运行生成的 EXE 文件 像这样program exe file txt 但这样我就无法调试 有没有地方可以指定调试参
  • SQL 选择最大 BY 组

    WEEK STUDENT CLASS TEST SCORE 1 1 A 1 93 1 1 A 2 97 1 1 B 1 72 1 1 B 2 68 1 1 C 1 93 1 1 C 2 51 1 1 H 1 19 1 2 A 1 88 1
  • 根据分组属性添加新列

    我想在 R 中添加一个新列 将我的子组总结为组 这是我的例子 id c 1 2 2 3 4 4 4 5 5 5 6 6 6 subgroup c lightred lightblue darkblue lightred darkred da
  • 检测处理器的数量

    如何检测 net 中物理处理器 核心的数量 System Environment ProcessorCount 返回逻辑处理器的数量 http msdn microsoft com en us library system environm
  • Linux内核中slab内存管理的缓存着色

    我最近读到有关slab系统的缓存着色的内容 但不明白 为什么为不同slab中的对象添加不同偏移量的缓存着色可以提高性能 我最初的猜测是 具有缓存偏移量的slab分配器 尝试将slab的第一个对象放在不同缓存颜色的内存中 如果客户端从这些sl
  • 如何覆盖已经有 !important 的 CSS 背景?

    我试图用时尚覆盖网站的背景 但它不起作用 网站的背景 css 也有一个 important 并且它是压倒性的 我的代码 body background image none important background black import
  • 有没有办法在 grpc 服务器端设置超时?

    无法从服务器端使 grpc 连接超时 客户端可能建立连接但保持保持 睡眠状态 从而导致 grpc 服务器连接挂起 服务器端有没有办法在一定时间后断开连接或设置超时 我们尝试从客户端断开连接 但无法从服务器端执行此操作 在这个链接中gRPC
  • 如何强制命令行使用 PHP 版本?

    我由 1and1 com 托管 并且我已将我的文件设置为使用 php5 进行解析 htaccess 但这仅适用于 apache 而不适用于命令行 命令行默认为服务器默认 php4 所以目前我无法设置计划任务以 php5 运行我的代码 有任何
  • .htaccess - 递归地将斜杠映射到下划线

    G day 正如标题所示 我正在尝试将网址格式设置为 this is mah page strucutre到文件this is mah page structure php 现在 我已经可以工作了 只是我不知道结构的深度 因此我需要进行一些
  • Julia 中 @sync @async 的并行性

    我有一些繁重的 csv 表 我想与 sync sync 宏并行导入 对此不太熟悉 我尝试了以下方法 import files sync async begin df1 CSV File libname df1 csv gt DataFram