我使用github的linguist来识别未知的源代码文件。在gem install github-linguist
之后从命令行运行这个命令非常慢。我正在使用python的subprocess
模块对一个普通的ubuntu 14安装进行命令行调用。
对空文件运行:linguist __init__.py
大约需要2秒(其他文件的结果与此类似)。我想这完全是从ruby启动时开始的。正如@martinkonecny所指出的,这似乎是语言学家的程序本身。
有没有什么方法可以加快这个过程,或者将调用捆绑在一起?
最佳答案
一种可能是调整linguist
程序(https://github.com/github/linguist/blob/master/bin/linguist)以在命令行上采用多条路径。当然,这需要使用一点ruby,但是它可以传递多个文件,而不必每次都有语言学家的启动开销。
这么简单的脚本就足够了:
require 'linguist/file_blob'
ARGV.each do |path|
blob = Linguist::FileBlob.new(path, Dir.pwd)
# print out blob.name, blob.language, blob.sloc, etc.
end
关于python - 如何加快从python重复调用ruby程序(github的语言学家)的速度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28555415/