Julia 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Julia 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Julia 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 编程语言
开源组织
地区 不详
投 递 者 NorthGod
适用人群 未知
收录时间 2012-02-27

软件简介

Julia是一个新的高性能动态高级编程语言。语法和其他编程语言类似,易于其他语言用户学习。Julia拥有丰富的函数库,提供了数字精度、精致的增幅器(sophisticated amplifier)和分布式并行运行方式。核心函数库等大多数库是由Julia编写,但也用成熟的C和FORTRAN库来处理线性代数、随机数产生和字符串处理等问题。Julia语言可定义函数并且根据用户自定义的参数类型组合再进行重载。

JIT高性能编译器

Julia使用的JIT(Just-in-Time)实时编译器很有效地提高了它的运行效率,在某些地方甚至能比得上C和C++。

下面通过标准测试程序来测试下它的效率,你可以自己比较下各语言的运行效率。

注:运行环境是MacBook Pro,2.53GHz,Intel Core2 Duo CPU和8G 1066MHz,DDR3内存。

上表中只有C++运行时间是绝对时间,其它都是相对于C++的相对时间,数值越小代表用时越少。除少数几项测试Julia惜败于Matlab和JavaScript外,Julia完胜其他高级语言,甚至在pi summation上,成功以25%的优势击败C++。通过使用Intel核心数学库(MKL),MatLabs在矩阵乘法运算中稍占便宜,但是拥有MKL授权的Julia同样可以使用Intel MKL库,不过默认的开源BLAS库性能也不错。

这个测试表是通过编译器性能对一系列常用代码模式进行分析而得出的。比如:字符串解析、函数调用/回调、排序和数值循环、生成随机数和数组运算等。

Julia克服了高级语言一直难以逾越的难关:标量算数循环(在pi summation上就能体现出来。)。Matlab的浮点运算JIT和 V8 JS引擎对此也处理得很好。但JS不支持LAPACK等线性代数库导致了在矩阵运算中的低性能,而Julia有比较多的方法消除负载(overhead),使得它可以轻松支持任何函数库。

矩阵统计的Julia代码虽然性能上比不上C++但却要简洁得多。然而,规范和编制太过随意可能会在将来成为一个问题。

Julia代码示例:

function mandel(z)  
    c = z 
    maxiter = 80 
    for n = 1:maxiter  
        if abs(z) > 2  
            return n-1  
        end  
        zz = z^2 + c  
    end  
    return maxiter  
end  

function randmatstat(t)  
    n = 5 
    v = zeros(t)  
    w = zeros(t)  
    for i = 1:t  
        a = randn(n,n)  
        b = randn(n,n)  
        c = randn(n,n)  
        d = randn(n,n)  
        P = [a b c d]  
        Q = [a b; c d]  
        v[i] = trace((P.'*P)^4)  
        w[i] = trace((Q.'*Q)^4)  
    end  
    std(v)/mean(v), std(w)/mean(w)  
end

为并行处理和云计算而生

Julia为分布式计算提供很多关键模块,使得它可以更加灵活地支持多种并行处理。

虽然还是早期版本,Julia已经支持了云计算。下面是基于交互性的Julia会话截图:

Julia将提供更加完整的性能支持云计算操作,比如分享和编辑,包括数据管理、数据挖掘和可视化操作等。它还允许用户操作大数据类型而不用关心数据操作行为。

免费、开源和Library Friendly

TJulia的核心代码遵循MIT协议,而其他库各自遵循GPL/LGPL/BSD等协议。用户还可以方便地将Julia作为核心功能共享库与C/FORTRAN代码联合使用。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(19)
发表了资讯
09/05 08:48

TIOBE 9 月榜单:Julia 即将进入 Top 20,仅差 0.05%

TIOBE 公布了 2022 年 9 月的编程语言排行榜。 Julia 编程语言离榜单前 20 名的位置仅差 0.05%,它是一种为数值分析和计算科学设计的语言。在该领域有许多相互竞争的语言,那么是什么让 Julia 脱颖而出呢? TIOBE 方面指出,“Julia 击败了 Matlab,是因为它更现代并且可以免费使用;击败了 Python 和 R,是因为它更快。由于数字运算和建模领域的需求巨大,Julia 在不久的将来有很大的机会进入前 20 名。值得注意的是,Rust 语言...

12
1
发表了资讯
08/20 07:54

Julia 1.8.0 发布,科学计算领域高性能语言

Julia 编程语言 1.8 版本已发布,这是一种通用的高性能语言,在科学计算和数值分析中较为流行。Julia 1.8 是 1.x 系列版本中的第八个次要版本,添加了一些新特性和功能,主要更改如下: 可变结构字段上的 const Julia 支持使用 const 注释对可变结构的各个字段进行注释: mutable struct T x::Int const y::Float64 end 这导致字段 y 保持不变(在创建类型后无法重新分配),可以用来强制执行不变量,编译器也可以...

3
6
发表于摸鱼专区专区
06/29 08:45

各大编程语言性能测试结果的可视化图表

“什么编程语言速度最快”,为了回答这个问题,The Benchmarks Game 专门面向主流编程语言设计了性能测试。测试的项目包括: fannkuch-redux n-body spectral-norm mandelbrot pidigits regex-redux fasta k-nucleotide reverse-complement binary-trees 开发者根据 The Benchmarks Game 的测试数据制作了一份可视化图表,如下所示,灰色反映的是时间效率,越短代表性能越好,棕色则是基于执行时间和内存开销的加权值。 可以看到...

132
12
发表了资讯
2021/12/02 07:21

Julia 1.7 版本发布,科学计算领域高性能语言

Julia 编程语言 1.7 版本已发布,这是一种通用的高性能语言,在科学计算和数值分析中较为流行。Julia 1.7 是 1.x 系列版本中的第七个次要版本,添加了一些新特性和功能,主要更改如下: 新的 Xoshiro256 系列随机数生成器(RNG) Julia 一开始使用流行的 Mersenne Twister 算法作为其默认的随机数生成器,但 Mersenne Twister 的计算周期较长,而且会带来较大的开销。1.7 版本引进了开销较小的 Xoshiro256 系列随机数生成器。 ...

3
4
2021/11/23 07:18

Julia 编程语言 v1.6.4 发布

Julia 1.6.4 版本是 1.6 系列中的第四个补丁版本,现已正式发布。作为一个补丁版本,1.6.4 版本不包含新的功能或重大变化,只包含错误修复、文档改进和性能改进。 Julia 1.6.4 的更新内容包括: 修复 Buildkite 上的cmdlineargs 测试 #42118 Base.julia_cmd():正确转发-sysimage-native-code=no标志(如果提供) #42185 CI(Buildkite,代码覆盖率):增加 JULIA_WORKER_TIMEOUT 在代码覆盖率作业的值 #42193 CI(Buildkite,代...

2
3
2021/07/21 06:21

Julia 编程语言获千万美元融资,前 Snowflake CEO 加入董事会

由 Julia 编程语言创造者创立的 Julia Computing 宣布完成了 2400 万美元的 A 轮融资。本轮融资由 Dorilton Ventures 领投,Menlo Ventures、General Catalyst 和 HighSage Ventures 参投。截至目前,Julia Computing 已筹集了约 2860 万美元。 与此同时,前 Snowflake 首席执行官和前微软服务器和工具部总裁 Bob Muglia 也宣布将加入 Julia Computing 董事会。 Julia 编程语言最初由麻省理工学院开发,目前已被全球用户下载超过...

2
3
2021/03/26 07:57

Julia 1.6.0 发布,高性能动态高级编程语言

Julia 1.6.0 现已发布。Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。 官方表示,Julia 1.6.0 很可能会成为下一个长期支持(LTS)版本。因此,其花了很多时间来开发这个版本,以确保那些对生态系统未来健康发展所需的功能能够被纳入到这个版本...

6
6
发表于程序人生专区
2020/08/27 08:46

76% 的 Julia 用户将 Python 作为首选替代语言

Julia 语言官网分享了其 2020 年用户及开发者调查的结果。该调查以英语、西班牙语、中文和德语这四种语言进行,中文流利者占 11%;共有 2,565 名来自 102 个国家和地区的受访者,去年的参与人数为 1,844 人。 与其他大多数语言调查不同的是,Julia 语言调查的受访者中,学者占比 60%,业界人士仅有 43%。这也与它在数据分析和计算科学方面的作用强相关。将 Julia 用作生产的开发者相对较少。调查显示,使用 Julia 超过 6 个月以...

4
2
发表了资讯
2020/08/04 08:00

Julia 1.5.0 发布,高性能动态高级编程语言

Julia 1.5.0 现已发布。Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。 作为次要发行版,v1.5.0 不包含重大更改,仅包含一些新功能、性能改进以及少量更改。一些重点更新内容如下: 结构布局和分配优化 多线程 API 的稳定和改进 在每个模块中提...

6
2
发表了资讯
2020/05/30 07:48

Julia 1.5.0-beta1 发布,高性能动态高级编程语言

Julia 1.5.0-beta1 现已发布。Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。 更新内容如下: 新语言特性 现在也可以将 @foo{...} 宏调用写入 @foo{...} (不带空格)(#34498)。 ⨟现在被解析为具有时间优先级的二进制运算符。可以在 REPL 中...

3
2
发表了资讯
2020/03/24 07:13

Julia 1.4 发布,高性能动态高级编程语言

Julia 1.4.0 现已发布。 Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。 更新内容如下: 新的语言特性 现在,将具有所有 isbits 和 isbitsunion 字段的结构内联存储在数组中(#32448)。 import现在允许带引号的符号,例如import Base.:+(#3...

4
7
发表了资讯
2019/11/28 07:28

Julia 1.3 发布,高性能动态高级编程语言

Julia 1.3.0 发布了, Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。 更新内容如下: 新的语言特性 支持 Unicode 12.1.0 (#32002) 现在可以将方法添加到抽象类型中 (#31916) 支持将 Unicode 粗体数字和双位数 0 到 9 作为有效标识符 (#32838) 添...

6
5
发表了资讯
2019/08/21 07:40

Julia 1.2.0 发布,高性能动态高级编程语言

Julia 1.2.0 发布了, Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。 1.2.0 包含新特性和性能改进等内容,如下: 语言新的特性: splatting (x...)现在可以用于调用构造函数中的新伪函数 对 Unicode 12.0.0 的支持 添加 ⋆ (\star) 作为一元运...

18
7
发表了资讯
2019/08/09 08:30

Julia 语言调查报告:用户的喜欢与吐槽

近年来,由麻省理工学院创建的编程语言 Julia 越来越受欢迎,但仍然远远落后于 Java、C 和 Python。 根据 Tiobe 2019 年 8 月的编程语言排名,Julia 在其基于搜索引擎的搜索结果中排名第 39 位,高于一年前的第 50 位,与去年 10 月的排名相同。 Julia Computing 公司最近就对 1800 多名 Julia 用户进行了一项调查,找出他们喜欢和不喜欢这种语言的地方。结果显示,93% 的受访者总体上表示喜欢。在 Julia 用户中第二喜欢的语言是...

8
17
发表了资讯
2019/07/31 08:04

Julia Computing 和 MIT 引入可微编程系统,连接人工智能和科学计算

科学计算,是使用计算模型来解决科学和工程问题,它近年来从人工智能机器学习技术的迅速发展中获益良多。现在,研究人员正在探索连接这两个世界的方法。 Julia Computing & MIT 的一个研究小组提出,广泛的科学计算和机器学习领域都需要在其底层结构上支持线性代数。该团队引入了一种新的可微编程(∂P)形式的计算基础结构,它可以计算模型梯度,并将自动微分集成到语言中作为一种一流的特性。程序员可以直接用 Julia 编程语言和...

2
12
发表了资讯
2019/01/29 07:07

Julia 1.1 发布,高性能动态高级编程语言

Julia 1.1 发布了, Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。 此版本带来的新特性包括: 维护一个异常堆栈 exception stack,作用于每一个任务,以使异常处理更加健壮,并且可以分析根本原因。可以使用实验性函数 Base.catch_stack 访问堆...

4
3
发表了资讯
2018/12/28 08:28

Julia 语言三位作者获得 Wilkinson 数字软件奖

麻省理工学院孵化的 Julia 语言的的三个作者获得 2019年的 James H. Wilkinson 数字软件奖。 Julia 是由 Jeff Bezanson 博士、前麻省理工学院 Julia Lab 研究院Stefan Karpinski和Viral B. Shah和艾伦埃德尔曼教授于2009年建立,是计算机科学和人工智能实验室(CSAIL)和数学系的成员之一。 Julia 于 2012 年公布下载量超过 300 万,有超过 1500 所大学用它进行科学计算。「我为 Julia 实验室的贡献感到自豪,该实验室将最新的计...

10
9
发表了资讯
2018/10/02 14:35

Julia 1.0.1 发布,高性能动态高级编程语言

Julia 1.0.1 发布了,这是 Julia 1.0 的第一个补丁版本。它仅包含错误修正和性能改进,没有新功能或其他变更。 Bug fixes #28568 - Fix vec of adjoint vector #28592 - fix #28576, parsing ? at end of input in conditional expression #28620 - Fix #28619, logabsdet for singular matrices #28642 - Keep parametric information when constructing a SparseMatrixCSC from … #28655 - fix #28641, passing typev...

0
2
发表了资讯
2018/08/31 07:44

优化过程 PK :Julia 能打败 Python 和 R 笑到最后吗?

编译自:Julia vs R vs Python: simple optimization 作者:ZJ,数据科学家,全栈工程师,信用风险模型团队负责人。 在这篇文章中,作者通过一个简单的似然函数优化(Maximum Likelihood Optimization)问题来对比 Julia,R 和 Python。这是一个比较小的优化问题,性能上的差异表现可能不太明显,但解决问题的过程能很好地反应三者各自的优劣势。 作者在撰写本文时,对这三种语言的熟悉程度如下: 语言 实战经验 R 9 年 Julia ...

13
10
发表了资讯
2018/08/19 07:57

关于编程语言 Julia,开发团队有这些想告诉你

Julia 1.0 正式版发布已过去一周多,官方表示 1.0 版本积累了富有野心的程序员们的十年心血。Julia 可以看作是一门集众家之所长的编程语言,在首次公开时开发团队就已明确其需求: 我们想要一种拥有自由许可的开源语言,同时拥有 C 的速度和 Ruby 的灵活。我们想要一种同像性语言,有像 Lisp 这样真正的宏,也有像 Matlab 这样的浅显熟悉的数学符号。我们想要一门像 Python 一样可用于通用编程,像 R 一样易于统计,像 Perl 一样...

16
14
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
19 评论
152 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部