Julia - 高性能科学计算语言

Julia的发明人之一Jeff Bezason的目标是:“让世界上每一个人都可以使用高性能科学计算”。从2009年项目在MIT启动起六年时间,Julia已经发展成了一个支持云端和并行计算、C和Python语言调用并集成图表分析的非常全面的科学计算平台。

语言设计上,Jeff认为Julia针对的场景是探索性计算(Exploratory Computing),结合它高性能的特点,去在大数据集上尝试理解数据和试验不同的算法,这也是当下数据科学家和分析师们的主要任务;在数据分析领域,除了Python和R之外,我们又有了一个新的选择。

语言特点

屏幕快照 2015-02-19 下午5.07.59

  • 多分派(Multiple dispatch):根据参数的类型来进行方法调用
  • 动态类型系统
  • 媲美C等静态语言的性能
  • 类似Lisp的宏和元编程
  • 支持Python调用:通过PyCall包
  • 支持C语言直接调用:无须包装器或特殊的APIs
  • 用户自定义类型与系统类型一样快
  • 对Unicode字符支持良好
    以下是Julia与其它语言在数据计算效率上的对比:
















































































































    JuliaPythonRMatlabMathe-maticaJavaScriptGoLuaJITJava
    0.3.22.7.63.1.1R2014a10.0V8 3.14.5.9go1.2.1gsl-shell 2.3.11.7.0_65
    fib2.3979.95553.574638.29163.433.732.142.380.90
    parse_int1.9312.2453.231580.5217.662.333.776.795.55
    quicksort1.2433.23255.7354.4348.212.911.112.361.69
    mandel0.7212.1854.0651.236.241.550.990.710.57
    pi_sum1.0616.9316.551.271.512.191.331.181.00
    rand_mat_stat2.1419.0416.6510.486.713.328.924.344.01
    rand_mat_mul1.111.241.911.181.2117.199.831.442.35

Juno - 集成开发环境

Juno是一个免费的Julia语言开发环境,除了一些编码书写上的自动完成等基本功能外,它还提供了数据分析特有的数值计算显示和绘图功能。

error editor

IJulia - 集成分析环境

ijulialogo和IPython notebook一样,Julia也提供了一个网页版本的代码图表分析环境,安装过程参见GitHub JuliaLang / IJullia.jl 项目,它是基于IPython进行开发的。

IJulia也提供了一个在线运行环境JuliaBox供广大爱好者直接创建notebook和协作分享,但在国内由于Google Drive的原因而无法使用。

© 2018 Silent River All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero