用于跨平台通用可移植代码的 GNU 可移植性库(GNU Portability Library)对 gnulib-tool 进行了重大改写,gnulib-tool 是将模块从 gnulib 导入其软件包的程序。据说,gnulib-tool 的代码重写后,性能比现有实现快 8 到 100 倍。
最初的 gnulib-tool 程序是一个 shell 脚本实现,用于将 Gnulib 模块导入程序,以增强代码的可移植性。一些 GNU 开发人员已经用 Python 而不是 shell 脚本重写了 gnulib-tool,以回应对其性能缓慢的批评。
Bruno Haible 今天宣布,Python 化的 gnulib-tool 实现已经准备好进行 beta 测试,速度应该会更快:
“多年来,gnulib-tool 一直以速度慢而闻名。我们倾听了你们的抱怨。用另一种编程语言(Python)重写的 gnulib-tool 已准备好进行测试。它比原来的 gnulib-tool 快 8 到 100 倍。
这两种实现的性能应该是相同的,也就是说,生成的文件和输出的结果都是一样的”。
在呼吁对新 Gnulib 代码进行 beta 测试的邮件列表公告中,概述了比较 shell 和 Python 版本 gnulib-tool 的步骤,供有兴趣者参考。
转自 GNU Portability Library’s Tool Rewritten In Python For 8~100x Better Performance – Phoronix