我有一个
Python脚本,可以进行一些计算.当我在控制台中运行此脚本时,它需要大约7分钟才能完成,但是当我运行它时认为Java shell需要花费三倍的时间.我使用以下代码在Java中执行脚本:
this.p = Runtime.getRuntime().exec("script.py --batch", envp);
this.input = new BufferedReader(new InputStreamReader(p.getInputStream()));
this.output = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
this.error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
您是否有任何建议为什么Python脚本在Java中运行时间比在控制台中运行三倍?
更新(29.12.2010)
计算如下:
> Java将数据发送到Python.
> Python读取数据.
> Python生成决策树—这是一个很长的操作.
> Python发送树已准备好的确认.
> Java收到确认.
后来在Java和Python之间进行了一系列通信,但只需几秒钟.
更新(29.12.2010)
感谢您的所有意见和建议.花了一个工作日才发现我的假设是错误的.我使用的代码有“bug”,实际上在控制台和shell中执行了不同的计算.当我修复它时,计算时间是相同的.
简介:在控制台和Java shell中运行的脚本的计算时间几乎相同.初始化Java VM和IO通信的额外时间是微不足道的.