据说Java在性能方面比python快10倍。我也从基准测试中看到了这一点。但是真正使Java崩溃的是JVM的启动时间。
这是我做的测试:
$time xlsx2csv.py Types\ of\ ESI\ v2.doc-emb-Package-9
...
<output skipped>
real 0m0.085s
user 0m0.072s
sys 0m0.013s
$time java -jar -client /usr/local/bin/tika-app-0.7.jar -m Types\ of\ ESI\ v2.doc-emb-Package-9
real 0m2.055s
user 0m2.433s
sys 0m0.078s
相同的文件,Docx和Python中的12 KB ms XLSX嵌入式文件快25倍!WTH!
Java需要2.055秒。
我知道这都是由于启动时间造成的,但是我需要通过脚本调用它来解析一些我不想重新发明python的文档。
但是对于解析10k +文件,这是不切实际的。
无论如何都可以加快速度(我已经尝试过-client选项,它只能以很少的速度(20%)加速)。
我的另一个主意?作为长期运行的守护程序运行它,在本地使用UDP或Linux-ICP套接字进行通信?
试试Nailgun。
注意:我个人不使用它。
问题内容: 有什么方法可以重新启动JVM?如in中,实际上不退出,而是关闭并重新加载所有类,然后从顶部运行main? 问题答案: 最好的选择可能是在一个循环中运行java解释器,然后退出。例如: 如果您希望完全重新引导或关闭,可以测试退出状态: 在Java程序中,可以使用System.exit(0)指示要“重新引导”,而可以使用System.exit(1)指示要停止并保持停止。
我正在做一个有数千个文件加上数千个和,从SSD运行构建需要28分钟。 我们几周前从另一家公司继承了这个项目,但是仔细阅读makefile,他们通过假目标;我们想知道他们是否有充分的理由。 最坏的情况下,唯一的加速方法是使用RAM驱动器。 因此,我按照Tekrevue的说明安装了Imdisk,然后使用CrystalDiskMark运行基准测试: 我还使用Cygwin运行了,与我的SSD相比,RAM驱
问题内容: 我很好奇如何快速进行元组的for循环。 我知道要访问每个成员,您可以使用带点号的索引号 //错误:类型不符合协议顺序 问题答案: 是的你可以! 瞧! 注意最后一个是不是一个元组这样什么也不会发生(尽管它是一个内容可以被访问1元组或“单” ,为0)。 有趣的是,它甚至可以迭代其他类型的集合。 并且该集合包括和! 注意:作为块的第二个参数传递的值是type 。您必须将其强制转换回原始类型的
我一直在关注快板5平台和他的文件管理器使用的教程!openFile.eof(),我听说它不好,我很确定它是什么让我的矢量下标超出范围错误。除了它,还有什么我可以使用的吗?另外,你能检查一下我的图层类,以防我的矢量下标超出范围错误吗?我想不出来,我很确定它来自文件管理器,但我不知道。 它仅输出地图的第一行。当我把它改成“而”(标准:::getline(打开文件,行))时,我甚至从未去过标准::cou
问题内容: 我正在具有8个核心CPU和6 GB内存的Linux 64bit上运行应用程序服务器。 服务器必须具有高响应能力。 经过检查,我发现服务器上运行的应用程序会创建大量的短期对象,并且只有大约200〜400 MB的长期对象(只要没有内存泄漏) 阅读http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html之后, 我使
所以我做了这个程序,你可以给出一个圆或一条线的参数,它会通过在显示器上画一个数组来显示所述对象。 我知道我的代码可能优化得很差,但我一周前才开始编程。所以如果代码很难理解,请原谅我。 提前谢谢!