Pyke 简介 (2) :用它做什么?
尚河
2023-12-01
[b]Pyke 简介 (2) :用它做什么?[/b]
使用 Pyke,是为了调制(cook)Python 程序代码。写些 Python 代码,再写些 Pyke 代码掺入其中。例如,把 Python 的函数,用 Pyke 集成定制为特定用例。
有些实际问题,解决方案头绪繁多,互相影响,各有利弊,顾此则失彼,难以选择决断。通过 Pyke 编程,有利于辅助决策找到好的解决方案。
[b]调制你的 Python 代码[/b]
调制 Python 程序代码,属于“元程序”(meta-programming),即操控其他程序的程序,也就是大型程序。
Pyke 属于编写大型程序的工具,并与编写小型程序的 Python 紧密结合,对其补充而非替代。
Pyke 协助程序员取得以下重要好处:
[b]适应需求[/b]
Pyke 可以把 Python 程序调制成难以计数的各种形态,充分发挥领域特定语言(Domain Specific Language,DSL)的优势,在实质内容上强化了程序的适用性,却没增加形式化的表面文章。
[b]性能表现[/b]
通过 Pyke 的编译而不是“解释”,可以把你的DSL程序的性能,提高一个数量级。
[b]代码重用[/b]
Pyke 在增强程序适用性的同时,以其代码重用的优势,将程序开发速度和应用领域范围,整整提升了一个数量级。
[b]调制 Python 代码的例子[/b]
[b]访问数据库[/b]
用 Python 写一些数据库操作的函数,再用 Pyke 写一个调制版的,供 Python 程序员使用。
也可以用 Pyke 辅助数据库的安装、配置及其创建。
这个办法可以使访问数据库的速度,提升一个数量级,因为,Pyke 对访问数据库的代码,做出了实质性的编译处理。
相关的例子,是sqlgen。
[b]HTML 模板库[/b]
用 Python 写一些处理 HTML 的函数,再用 Pyke 写一个调制版的,处理各个模板。
这个办法可以使 HTML 模板处理速度,提升一个数量级,因为,Pyke 对每个模板的代码,做出了实质性的编译处理。
具体方法,详见例子 web_framework 。它使用了例子 sqlgen 生成 web 框架。其中的2个 HTML 模板,用 TurboGears 2 也可生成。
二者的 Siege 压力测试结果如下:
TurboGears 2 每秒处理 75.83 件事情
Pyke 例程 每秒处理 791.01 件事情
[b]配置 Linux[/b]
写出 Python 函数预设询问用户设置 Linux 的要求,确定相应的选项。再用 Pyke代码,实现调制版。
此时,不追求程序性能。Pyke 处理的是复杂的决策方案,和方便以后修改配置,并能认定,该选的都打了“勾”,不该选的都打了“叉”。