我正在使用github' linguist来识别未知的源代码文件。在gem install github-linguist
非常慢之后从命令行运行此命令。我使用python的subprocess
模块在Ubuntu 14库存安装上进行命令行调用。
针对空文件运行:linguist __init__.py
大约需要2秒(其他文件的结果类似)。 我认为这完全来自Ruby的启动时间。正如@MartinKonecny指出的那样,它似乎是语言学家本身。
是否有某种方法可以加快此过程的速度 - 或者将呼叫捆绑在一起的方法?
答案 0 :(得分:2)
一种可能性是仅调整linguist
程序(https://github.com/github/linguist/blob/master/bin/linguist)以在命令行上采用多个路径。确实需要使用一些Ruby,但是每次都可以在没有Linguist启动开销的情况下传递多个文件。
这么简单的脚本就足够了:
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