我计划将我们的一些文件处理组件从Perl迁移到Java。这些Perl组件执行如下操作:
等。
但我很担心,因为这可能在速度和记忆方面表现不好。
我们有没有针对Java和Perl IO的基准/比较研究?
在Java中集成Perl模块是个好主意吗(使用Apache XMLrpc从java调用Perl模块,我还没有尝试过)
请分享你的想法/经验。
发布于 2011-06-17 07:38:18
根据我的经验,简单的文件操作(如您所描述的那样)更容易使用perl而不是java。我并不是说java I/O性能不好(实际上,我不能告诉您perl和java I/O性能之间的任何比较)。我只是说,处理文件的perl脚本通常比使用java编写此类任务更容易、更短。另外,不要忘记Perl可以作为实际的提取和报告语言来阅读.因此,操作文件及其内容实际上是其主要用途之一:)
最后,我不会从java调用Perl。如果我决定搬到java,那么我会用java重写所有的东西。
发布于 2011-06-17 08:11:21
重写工作代码不应该浪费时间。想想你还需要什么。重写java需要花费更多的时间,但使维护更容易/更容易与java应用程序集成。但是perl在提取和报告方面更灵活。perl代码的质量是什么?如果不好,用java重写如果好,为什么要垃圾这么多的工作?
我并不害怕将perl作为java进程来运行。很容易从任何语言(管道、命令行参数等)与perl交换数据。java的Builtin流程框架就足够了。您多久使用一次perl代码?(每200毫秒?还是时不时地?)如果不是经常的话,您可以只运行进程。如果我经常不能在头顶上安顿下来的话。
发布于 2011-06-17 08:17:18
Perl肯定比Java更简洁,但从维护的角度来看,最好是用一种语言,或者至少在一种语言中使用主要模块,而不是把很多东西包装在一起。如果系统的其余部分是java,我肯定会说用java重写perl代码。
除了维护方面,您还必须考虑文档。如果您正在生成文档(例如,javadocs),最好也记录完整的文件io函数。不过,我想你可以把包装纸记录下来。
https://stackoverflow.com/questions/6382677
复制相似问题