pperl 0.6.21 - 补充说明
内容提要
pperl 0.6.21为内部版本。文章补充0.6.20遗漏内容:JIT重建完成、Encode支持全部124种编码、Storable与perl5字节兼容、POSIX等模块完善、新增数据库驱动、Coro运行、命令行增强。作者提出三种发布方式,倾向将完整记录放入变更日志,博客只解释重点。并回应AI时代pperl的定位:它拓宽Perl能解决的问题范围,如速度、易用性和功能,而AI只能在既有范围内工作。
延伸解读
0.6.20 遗漏的重要更新
0.6.20 的发布文章遗漏了多项已包含在可下载二进制中的更新,包括 JIT 重建完成(删除约 19,700 行旧引擎)、Encode 支持全部 124 种编码、Storable 与 perl5 字节兼容、POSIX/Fcntl/Socket 模块补全、新增 DBD::SQLite 和 DBD::MariaDB 驱动、Coro 6.57 运行、命令行增强等。这些更新在 0.6.8 至 0.6.20 之间落地,但未在上一篇文章中提及。
发布记录的三种方式
作者提出三种发布方式:一是减少散文、增加变更日志,效率高但枯燥;二是每完成一个主题就发一篇小文章,避免遗漏但读者负担重;三是将完整记录放入随版本发布的变更日志,博客只解释两三个重点。作者倾向第三种,认为这样既能保留散文的价值,又能避免选择性问题。本文即是对第三种方式的实验。
AI 时代 pperl 的定位
作者回应了 AI 可移植 Perl 脚本的疑问:语言模型能转写代码,但无法突破语言本身的性能极限。例如在 Benchmarks Game 中,perl5 的 n-body 成绩约七分钟,而 node.js 不到九秒,这一差距无法通过编写更聪明的 Perl 代码来弥补。pperl 拓宽了 Perl 能解决的问题范围,如速度、易用性和功能,而 AI 只能在既有范围内工作。
Q&A
pperl 0.6.21 是正式版本吗?
不是,0.6.21 是一个内部版本,不对外发布。
pperl 0.6.20 的发布公告遗漏了哪些重要更新?
遗漏了 JIT 重建完成、Encode 支持全部 124 种编码、Storable 与 perl5 字节兼容、POSIX/Fcntl/Socket 模块完善、新增 DBD::SQLite 和 DBD::MariaDB 驱动、Coro 6.57 运行、命令行增强等。
pperl 项目对于发布公告的三种方式是什么?作者倾向于哪种?
三种方式:1. 减少散文,增加变更日志;2. 更多更小的帖子;3. 两者结合,完整记录放入变更日志,博客只解释重点。作者倾向于第三种。
在 AI 可以移植代码的时代,pperl 的定位是什么?
pperl 拓宽了 Perl 能解决问题的范围,例如速度、易用性和功能,而 AI 只能在既有范围内工作。
pperl 在性能上有什么具体优势?
在 Benchmarks Game 中,pperl 上运行的十个 Perl 程序有九个领先于最快的脚本语言条目,第十个持平。例如 mandelbrot 并行化后墙钟时间从 10.85 秒降至 4.2 秒。
pperl 的 Encode 模块现在支持多少种编码?
支持全部 124 种上游编码,包括从 Unicode .ucm 数据生成的单字节表、UTF-16/32、UCS-2、21 种多字节 CJK 编码、ISO-2022、UTF-7 和 MIME encoded-word 编解码器。