Julia 1.11.6 Release Notes
6.73 MB
2007 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(繁体) | .pdf | 3 |
摘要 | ||
文档详细介绍了Julia 1.11.6版本的新功能、改进和变更。主要包括新语言功能如Memory类型和public关键字,编译器和运行时的优化,多线程调度的改进,以及标准库和包管理器的更新。此外,还涉及命令行选项的变化、构建系统的优化、以及对外部依赖的更新。文档还介绍了已过时或移除的功能,以及与Julia版本管理和环境配置相关的注意事项。 | ||
AI总结 | ||
《Julia 1.11.6 发布说明》摘要如下:
### 1. **新语言功能**
- 引入 `Memory` 类型,作为 `Array` 的低级替代,具有更低的开销和更快的构造速度。
- 新增 `public` 关键字,标记公用 API,区别于 `export`。
- 支持 `ScopedValue`,实现任务间的动态作用域继承。
- `Manifest.toml` 文件支持以 `Manifest-v{major}.{minor}.toml` 格式命名,便于多版本 Julia 共存。
- 增加对 Unicode 15.1 的支持。
### 2. **语言变化**
- 预编译时钩子 (`atexit`) 现在在保存输出文件前运行,便于资源清理。
- 预编译阶段不再生成代码覆盖和内存分配跟踪数据。
- `JULIA_DEPOT_PATH` 中的空路径现在忽略默认用户仓库。
### 3. **编译器/运行时改进**
- 更新垃圾回收策略,基于分配的页面计数。
- 支持在代码块上注解 `Base.@assume_effects`。
### 4. **命令行选项变化**
- Julia 的入口点标准化为 `Main.main(args)`,需通过 `@main` 宏显式启用。
- `--compiled-modules` 和 `--pkgimages` 标志支持 `existing` 模式。
- `--project` 标志支持通过 `@script` 指定项目目录。
### 5. **多线程改进**
- `Threads.@threads` 支持 `:greedy` 调度器,适用于非均匀工作负载。
- 新增 `Base.Lockable` 结构,方便资源和锁的组合。
### 6. **构建系统更改**
- 新增 Makefile 支持使用 PGO 和 LTO 优化策略。
### 7. **新库函数**
- 引入 `StyledStrings` 库,支持文本注解(如语言或颜色)。
- `rand` 函数支持 `Tuple` 和 `Pair` 类型sampling。
- 支持通过字符串或负整数种子 RNG。
### 8. **标准库更改**
- `write(::IO, ::AbstractArray)` 现在写入内存表示,而非递归写入元素。
- 删除 `length(::Stateful)` 方法,因其可能导致不正确结果。
### 9. **包管理器更新**
- 支持 `Project.toml` 中的 `[sources]` 部分,添加非注册包依赖。
- 遵守 `Project.toml` 中的 Julia 版本兼容性约束。
- 允许通过 `--weak` 或 `--extra` 添加弱依赖或额外依赖。
### 10. **REPL 改进**
- 标签补全提示文字颜色更浅,可通过 `hint_tab_completes` 选项禁用。
- 空提示的 `Meta-M` 切换上下文模块。
### 11. **日期与统计更新**
- 未记录 `adjust` 函数现已记录。
- `Statistics` 现为可升级的标准库。
### 12. **分布式计算调整**
- `pmap` 默认使用 `CachingPool`。
### 13. **弃用或移除**
- 删除 `Base.map`、`Iterators.map` 和 `foreach` 的单参数方法。
### 14. **外部依赖更新**
- `libuv` 更新至 v1.48.0。
- 替换 `tput` 为纯 Julia 终端信息解析器,终端信息数据库默认嵌入。
### 15. **工具改进**
- CI 支持自动检测拼写错误。
此版本重点提升了性能、多线程支持、包管理和用户体验,同时增强了语言功能和标准库能力。 |
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
1995 页请下载阅读 -
文档评分