Julia 中文文档
Julia 中文文档 Julia 中文社区 May 17, 2021 Contents Contents i I 主页 1 II Julia 1.5 中文文档 3 1 鸣谢 7 2 简介 9 III 手册 11 3 入门 13 3.1 资源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 25 调用 C 和 Fortran 代码 253 25.1 创建和 C 兼容的 Julia 函数指针 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 25.2 Mapping C Types to Julia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 25.3 Mapping C Functions to Julia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 ccall / @cfunction argument0 码力 | 1238 页 | 4.59 MB | 1 年前34 Python语法扩展框架Moshmosh和其上的CPython compatible JIT实现 thautwarm
Instructions for Julia back end Also a lot of advanced tricks in the Julia back end *抽象指令 (没有实际指令) Julia“生成函数” Python 字节码 JuVM虚拟栈机 (具体指令集) 抽象机器 (只规定语义) JuVM栈机指令 Python JIT 函数包装 Julia AST/CodeInfo Instructions for Julia Back End Instructions for Julia Back End JuVM: An implementation of our AM Machine Runner: 从AM到VM Julia Code Generation Julia Type Level Encoding 和Python不一样, Julia在运行时不能随意地eval。 Julia在运行时不能随意地eval。 生成的Julia代码需要经过一些tricky的处理, 也就是将AST编码为Julia类型, 然后 使用Julia独特的基于类型的Staging代码生成… A long story here out of Python world, see GeneralizedGenerated.jl or the paper of Zygote.jl for more details. Why based0 码力 | 30 页 | 8.04 MB | 1 年前33 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查
Linux users) Just In Time The Restrain Python JIT 为什么编译器从字节码开始着手? 栈机(stack machine)语义的优化问题? Julia后端和Cython后端的差别? 栈机到基于寄存器(register based)的 语义,控制流分析,SSA 和 Φ 节点和 栈机语义消除。 Cython JIT 基础架构。 为什么编译器从字节码开始着手 那可不可以不翻译? 可以。 然后你要在编译时模拟栈的Push Pop。 Julia后端就是这样做的。 导致For循环编译后并不快。 而基本上编译器0优化的Cython端, 你模拟栈后, 还远不如Python解释器快, 所以必须写分析去掉栈机语义。 那用Julia后端就可以不写了? 来谈后端的问题。 Julia Cython 常见性能提升 100x 1-10x 小函数JIT 比Python慢1000倍 比Python快50% 启动时间 10s以上, “JAOT” 没有,调编译器快 循环折叠 有 有 Debug现场? 每次打log等待30s 瞬秒(ms级) JIT 后端问题 同时, 由于Julia端目前固有的问题,不支持动态链接编译的 Python(例如Anaconda Python), hmmmmm 我投Cython亿票, debug福音。跨语言含JAOT的debug是屑。 Cython问题0 码力 | 43 页 | 10.71 MB | 1 年前3Go vs. GoPlus(Go+)
出现的那个年代 数据科学语言发展史 (TOP50) • SQL (1973) • SAS (1976) • MATLAB (1984) • Python (1991) • R (2000) • Julia (2009) • Go+ (2020) 数据科学的发展古老而漫长 但开始进入加速期 语言发展史的启发 • 脚本语言是特定历史阶段下的产物,长远看静态语言更有生命力 • 数据科学是计算机的最初需求,历史悠久但进步缓慢0 码力 | 54 页 | 1.82 MB | 1 年前306. 李欣宜 扩展Python的语法和语义
或者进行扩展是初级的,没有基于 类型的多态 那么告辞? 搭嘎!阔托瓦鲁! 摆 脱 编 程 语 言 给 你 的 限 制 Python有一堆好东西: 1. Python有良好的启动速度(看向Julia) 2. Python的package系统高度可自定义(importlib, import mechanism) 3. PyPI: 分布广泛的极速镜像,自由方便的注册 系统,用法千奇百怪 40 码力 | 39 页 | 3.69 MB | 1 年前32020 中国开源年度报告
2020增幅 1 易语⾔ 151.02% 2 Rust 143.04% 3 Dart 131.64% 4 Verilog 121.27% 5 R 89.50% 6 C++ 88.47% 7 Julia 81.95% Rust 和 Dart 连续 2 年保持⾼速增⻓。 2020 年是操作系统、物联⽹在国内开源⽣态中备受瞩⽬的⼀年,使得 Verilog 增势强 劲。 易语⾔虽登0 码力 | 46 页 | 4.09 MB | 1 年前3百度超级链 XuperChain 3.12-a中文文档
也可以在标签页里写代码,自动高亮 Linux Mac OSX Windows Linux Line 1 Mac OSX Line 1 Windows Line 1 C C++ Python Java Julia Fortran int main(const int argc, const char **argv) { return 0; } int main(const int argc, const0 码力 | 336 页 | 12.62 MB | 1 年前3百度超级链 XuperChain 3.12-c 中文文档
也可以在标签页里写代码,自动高亮 Linux Mac OSX Windows Linux Line 1 Mac OSX Line 1 Windows Line 1 C C++ Python Java Julia Fortran int main(const int argc, const char **argv) { return 0; } int main(const int argc, const0 码力 | 336 页 | 12.62 MB | 1 年前3百度超级链 XuperChain 3.12 中文文档
也可以在标签页里写代码,自动高亮 Linux Mac OSX Windows Linux Line 1 Mac OSX Line 1 Windows Line 1 C C++ Python Java Julia Fortran int main(const int argc, const char **argv) { return 0; } int main(const int argc, const0 码力 | 336 页 | 12.62 MB | 1 年前3百度超级链 XuperChain 3.12-b 中文文档
也可以在标签页里写代码,自动高亮 Linux Mac OSX Windows Linux Line 1 Mac OSX Line 1 Windows Line 1 C C++ Python Java Julia Fortran int main(const int argc, const char **argv) { return 0; } int main(const int argc, const0 码力 | 336 页 | 12.62 MB | 1 年前3
共 13 条
- 1
- 2