如何提高python的导入速度?

Nowox

在SO上已经多次问过这个问题(例如here),但是还没有真正的答案。

我正在写一个简短的命令行工具来渲染模板。它是使用Makefile固定的:

i = $(wildcard *.in)
o = $(patsubst %.in, %.out, $(t))

all: $(o)

%.out: %.in
    ./script.py -o $@ $<

在此虚拟示例中,Makefile解析每个.in文件以生成一个.out文件。这对我来说非常方便,make因为在此脚本之前和之后,我还有许多其他操作要触发。此外,我想保持尽可能的

因此,我想使我的工具保持简单,愚蠢并使用语法分别处理每个文件 script -o out in

我的脚本使用以下内容:

#!/usr/bin/env python
from jinja2 import Template, nodes
from jinja2.ext import Extension
import hiyapyco
import argparse
import re   

...

问题是每次执行要花费我大约1.2秒的时间(大约60毫秒用于处理,大约1140毫秒用于import指令):

$ time ./script.py -o foo.out foo.in
real    0m1.625s
user    0m0.452s
sys     0m1.185s

我的100个文件的Makefile的整体执行是荒谬的:〜100个文件x 1.2s = 120s。

这不是解决方案,但应该是解决方案。

我可以使用什么替代方法?

编辑

我喜欢Python,因为它的语法易读并且具有社区规模。在这种特殊情况下(命令行工具),我不得不承认Perl仍然是一个不错的选择。用Perl(也是一种解释语言)编写的相同脚本的速度(使用Text::Xslate大约快12倍

无论如何,我都不想推广Perl,我只是想用Python解决我最大的问题:由于导入时间很短,它还不适合用于简单的命令行工具。

glglgl

这并不是一件容易的事,但是您可以将程序变成一个位于后台并处理命令以处理文件的程序。

另一个程序可以向其提供处理命令,从而使真正的开始变得非常容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何提高Python代码速度

来自分类Dev

提高mysql导入速度

来自分类Dev

如何提高我的选择过程的速度,python

来自分类Dev

如何提高LoginAuthentication的速度?

来自分类Dev

如何提高查询速度?

来自分类Dev

如何提高查询速度?

来自分类Dev

如何提高大型数据集中Python计算的速度?

来自分类Dev

如何提高python中的多线程速度和效率?

来自分类Dev

如何提高python中的多线程速度和效率?

来自分类Dev

如何提高Golang的编译速度?

来自分类Dev

如何提高片段加载速度?

来自分类Dev

如何提高PySerial的读取速度

来自分类Dev

ccache如何提高构建速度?

来自分类Dev

如何提高uTorrent的下载速度?

来自分类Dev

如何提高硬盘传输速度

来自分类Dev

如何提高SQL查询的速度?

来自分类Dev

如何提高谷歌的页面速度?

来自分类Dev

如何提高PC的游戏速度?

来自分类Dev

SAS:通过proc导入提高do循环的速度

来自分类Dev

如何使用RallyAPIForJava提高速度

来自分类Dev

如何提高Android模拟器速度

来自分类Dev

如何提高持久性USB速度?

来自分类Dev

如何提高用Matlab编写代码的速度

来自分类Dev

如何提高使用MySQL的PHP脚本的速度?

来自分类Dev

如何提高模拟器的速度?

来自分类Dev

如何在tmux中提高滚动速度?

来自分类Dev

如何提高并行集群处理的速度

来自分类Dev

如何提高此MySQL查询的速度?

来自分类Dev

如何提高刷新数据透视表的速度