朱莉娅的执行速度

2023-12-11

我正在对 Julia 的执行速度进行基准测试。我执行了@time [i^2 for i in 1:1000]在 Julia 提示下,这导致了大约 20 毫秒的时间。这看起来很奇怪,因为我的计算机是现代的 i7 处理器(我使用的是 Linux Ubuntu)。

另一个奇怪的事情是,当我在一系列上执行相同的命令时1:10执行时间为15毫秒。

我在这里一定缺少一些微不足道的东西吗?


有几件事请看表现技巧:

  1. 不要在全球范围内进行基准测试。
  2. 不要测量类似这样的事情的第一次执行。
  3. Use 基准测试工具.

Julia 是一种 JIT 编译的语言,因此第一次测量时,您测量的是编译时间。这是一个很小的固定开销,因此对于任何需要大量时间的事情来说,它可以忽略不计,但对于像这样的短时间运行的代码来说,它几乎总是如此。非常量全局变量迫使编译器几乎不对类型进行任何假设,这往往会降低所有性能。在某些情况下这很好,但大多数时候,您 a) 应该编写代码,以便输入是函数的显式参数,而不是来自某些全局变量的隐式参数,并且 b) 不应该编写使用可变全局变量的代码状态。

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

朱莉娅的执行速度 的相关文章

  • 执行字符串?

    我想执行一个字符串 但是发现没有exec朱莉娅函数 a 1 println exec a ERROR exec not defined 有没有办法在 Julia 中执行字符串 最初的问题是我试图记录变量列表 thingsToLog a b
  • 像 R 的 is.na 函数一样在 Julia 中查找缺失值

    朱莉娅 1 0 0文档 https docs julialang org en v1 manual noteworthy differences Noteworthy differences from R 1关于 Julia 和 R 中缺失
  • 为什么我的 Julia 代码运行速度比 JavaScript 慢?

    最近 我对 Julia lang 很感兴趣 因为它声称是一种具有接近 C 性能的动态语言 然而 到目前为止我的经验并不好 至少在性能方面 我正在编写的应用程序需要随机访问特定的数组索引 然后将它们的值与其他特定的数组索引进行比较 经过多次迭
  • Julia 转置 DataFrame 中的分组数据?

    ds Dataset group repeat 1 3 inner 2 b repeat 1 2 inner 3 c repeat 1 1 inner 6 d repeat 1 6 inner 1 e string a f 在inmemor
  • 有什么方法可以获取模块中定义的函数列表?

    是否有任何内省的魔法可以给我一个模块中定义的函数列表 module Foo function foo foo end function bar bar end end 一些神话般的功能 例如 functions in Foo 这将返回 fo
  • 如何在命令行中执行 Julia 代码?

    我最近在 Julia 中转移了我的代码 我想知道如何在命令行中执行 Julia 代码 我知道 Julia 代码可以通过运行一次来 编译 但问题是我需要对集 群上的模拟模型进行参数扫描 我只能使用命令行 而不能使用 REPL 在集群上运行模拟
  • 有没有办法重置 Julia 中的当前工作目录?

    假设当前工作目录是C 保存 jl文件的目录 然后我将cwd切换到一些子文件夹来执行一些任务 有没有办法直接将cwd重置回C 之后 即最初的cwd 或者 是否可以独立于当前工作目录来定位正在运行的 jl 文件所在的目录 无需事先将 cwd 保
  • 如何加快 Julia 脚本的启动时间

    我编写了一个脚本来在 Julia 中绘制每日数据 但我发现它运行缓慢 似乎没有理想的方法来加速它 例如 foo jl bin bash exec julia O0 compile min BASH SOURCE 0 using Unicod
  • Julia ccall 接口和符号的问题

    我正在尝试使用朱莉娅的ccall与 C 库接口的函数 所有类型和指针都是正确的 并且下面的函数调用成功返回正确的答案 为简洁起见 此处未显示变量定义和设置 ccall vDSP convD libacc Void Ptr T Int64 P
  • 如何让 Rosenbrock23 在 ParameterizedFunctions.jl DSL 中使用 ODE?

    进一步这个问题 https stackoverflow com questions 54422068 how to fix typeerror in setindex in differentialequations jl 54423008
  • 如何防止已删除的软件包在 Julia 中更新?

    该问题的标题乍一看可能令人困惑 但它是有效的 我安装了Makie jl不久前打包 然后使用成功删除它pkg gt rm Makie 今天我尝试使用以下命令更新所有软件包 如果有的话 pkg gt up 但我得到了一个令人兴奋的日志 Inst
  • 如何在 Julia 中创建一个数组?

    在许多机器学习用例中 您需要创建一个充满 1 且具有特定维度的数组 在Python中 我会使用np ones 2 1 Julia 中的模拟版本是什么 朱莉娅有一个内置的ones可以使用如下函数 julia gt ones 1 2 1 2 M
  • Julia 1.6.2 未出现在 Jupyter 笔记本中

    我已经根据这个网站安装了 julia 1 6 2 jupyter notebook 和 anaconda 3 https datatofish com add julia to jupyter https datatofish com ad
  • 如何给DArray的元素设置值?

    我正在探索 Julia 的并行计算并尝试了以下方法 a dzeros 5 a 1 5 但刚刚收到此错误 setindex not defined for DArray Float64 1 Array Float64 1 嗯 我以为手册上说s
  • 如何在 Julia `DataFrame` 中折叠具有重复时间戳的数据

    我有一个DataFrame对象如下所示 Row timestamp price volume 1 2011 08 14T14 14 40 10 40 0 779 2 2011 08 14T15 15 17 10 40 0 101 3 201
  • 估算缺失数据,同时强制相关系数保持不变

    考虑以下 excel 数据集 m r 2 0 3 3 0 8 4 0 1 3 2 1 5 2 2 3 1 9 2 5 1 2 3 0 2 0 2 6 我的目标是使用以下条件填充缺失值 将上述两列之间的成对相关性表示为 R 大约 0 68 将
  • 如何制作任意级别的嵌套for循环

    我可以像这样做一个两级嵌套循环 for i1 in 1 n for i2 in 1 n do something with i1 i2 如何将其扩展到任意级别的嵌套循环 例如 我可以在 Python 中执行此操作以循环 n m 的笛卡尔积
  • 并行模拟写入同一文件

    我的目标是在集群上并行运行 10 000 个左右的 Julia 编码模拟 每个模拟独立于所有其他模拟 每个模拟都有一个要输出的数字 以及有关哪个模拟产生该数字的 3 列信息 因此 强制每个模拟打印在单独的文件上对我来说听起来有点愚蠢 我可以
  • Julia:将数组数组转换为二维数组

    我有一个数组d包含一个浮点数组 julia gt d 99 element Array Array Float64 1 1 我正在尝试将其转换为二维数组 并且我成功地实现了我的目标 data Array Float64 length d l
  • 如何在 Julia 中引用结构本身

    我有这个代码 struct MyStruct text String function MyStruct text String text text do other things end end 当我写这篇文章时 我意识到朱莉娅没有认识到

随机推荐