搜索

pdf文档 Julia 1.12.0 RC1

7.44 MB 2057 页 0 下载 122 浏览 0 评论 0 收藏
所属分类: 后端开发 / Julia
语言 格式 评分
中文(繁体)
.pdf
3
摘要
文档为Julia 1.12.0 RC1版本的发布说明和文档。主要内容包括:新语言特性如实验性--trim选项用于创建更小二进制文件、常量重定义遵循世界年龄语义、@atomic宏支持引用赋值语法、Unicode 16支持、Threads.@spawn新增:samepool参数。命令行选项变化包括-m/--module标志、NO_COLOR/FORCE_COLOR环境变量、--project=@temp、--trace-compile-timing等。多线程变化引入OncePerProcess等类型。新库函数包括logrange、isfull、waitany/waitall、uid7等。标准库变化包括gcdx(0,0)返回(0,0,0)、fd返回RawFD。新增JuliaSyntaxHighlighting标准库。文档还包含调试C代码的章节,以及环境变量如JULIA_HEAP_SIZE_HINT、JULIA_IMAGE_THREADS等。
AI总结
Julia 1.12.0 RC1 是一个尚未正式发布的候选版本。该文档主要包含以下核心信息: **1. 新语言特性** * **实验性 `--trim` 选项**:通过移除未被证明可到达的代码来生成更小的二进制文件。入口点需用 `Base.Experimental.entrypoint` 标记(#55047)。 * **常量重定义**:现在遵循世界龄(world age)语义,允许重定义类型等(#57253)。 * **`@atomic` 宏增强**:新增对引用赋值的支持,如 `@atomic :monotonic v[3] += 4`,支持原子获取、设置、修改、交换和替换操作(#54707)。 * **任务指标收集**:新增 `--task-metrics=yes` 选项,可收集每个任务的实际运行时间和挂钟时间(#56320)。 * **Unicode 16 支持**(#56925)。 * **`Threads.@spawn` 新参数**:支持 `:samepool` 参数,用于指定与调用者相同的线程池(#57109)。 **2. 命令行选项变更** * `-m/--module` 标志:可运行包内带有参数集的 `main` 函数,该函数需使用 `@main` 声明(#52103)。 * **颜色控制**:可通过 `NO_COLOR` 或 `FORCE_COLOR` 环境变量控制颜色文本(#53742, #56346)。 * **`--project=@temp`**:使用临时环境启动 Julia(#51149)。 * **新编译跟踪选项**:`--trace-compile-timing` 报告编译耗时(毫秒);`--trace-dispatch` 报告动态分发的方法(#54662, #55848)。 **3. 多线程与构建系统** * **新类型**:`OncePerProcess{T}`, `OncePerThread{T}`, `OncePerTask{T}`,用于确保代码在每个进程、线程或任务中只运行一次(#55793)。 * **构建系统**:新增使用 BOLT(二进制优化与布局工具)构建 Julia 和 LLVM 的 Makefile(#54107)。 **4. 新库函数** * **`logrange(start, stop; length)`**:创建等比数列(#39071)。 * **`isfull(c::Channel)`**:检查向通道 `put!` 是否会阻塞(#53159)。 * **`waitany` 和 `waitall`**:用于同时等待多个任务(#53341)。 * **`uid7()`**:创建符合 RFC 9562 的版本 7 UUID(#54834)。 * **`insert` 函数**:在数组中插入单例维度,与 `dropdims` 相反(#45793)。 * **`Sys.detectwsl()`**:运行时检测是否在 WSL 中运行(#57069)。 **5. 标准库与工具改进** * **新标准库 `JuliaSyntaxHighlighting`**:用于对 Julia 代码应用语法高亮(#51810)。 * **`gcdx(0, 0)`** 现在返回 `(0, 0, 0)` 而非 `(0, 1, 0)`(#40989)。 * **`fd` 函数**:返回 `RawFD` 而非 `Int`(#55080)。 **6. 环境变量** * **`JULIA_HEAP_SIZE_HINT`**:等同于命令行选项 `--heap-size-hint`,用于设置垃圾回收的内存使用上限。 * **`JULIA_IMAGE_THREADS`**:设置图像编译时使用的线程数。 * **`JULIA_EXCLUSIVE`**:设置线程亲和性策略,使每个线程绑定到专用 CPU 核心。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 2045 页请下载阅读 -
文档评分
请文明评论,理性发言.