Jon*_*ank 1 java oop garbage-collection
我需要Java的替代品,因为我正在研究遗传计算项目.它需要大量的内存和大部分的CPU时间.因此,当我在服务器上部署它时它不会工作,因为许多人同时使用该程序.
是否有人知道另一种语言没有在虚拟机中运行并且类似于Java(面向对象,使用异常和类型安全)?
最好的祝福,
乔纳森
Bar*_*own 10
如果您的应用程序占用单用户工作站上的大部分CPU和内存,我怀疑将其转换为某种非VM语言会有很大帮助.使用Java,您可以依靠VM来处理内存管理等问题.你将不得不用非VM语言重新实现它们的等价物.此外,Java的内存管理非常好.您的应用程序可能不是实时敏感的,因此暂时暂停它不是问题.此外,无论如何,你将在多用户系统上运行它,对吧?
内存使用将更多地与您的底层数据结构和算法有关,而不是与语言有关的神奇之处.除非你有一个非常好的内存分配器库用于你选择的语言,你可能会发现由于你的程序中的错误你使用了尽可能多的内存(如果不是更多).
由于您的应用程序是计算密集型的,因此除非您在整个代码中插入一些策略性的sleep()调用以故意使其更频繁地产生CPU,否则其他一些语言不太可能使其减少.这会减慢速度,但对其他用户来说会更好.
尝试使用Java的-server选项运行您的应用程序.这将使用为长期运行的程序设计的VM,并包含一个将Java编译为本机代码的JIT.它可能会使您的程序运行得更快,但仍然会受到CPU和内存的限制.
使用Python以及numpy,scipy和matplotlib包.numpy是一个Python包,其中包含用C实现的所有数字运算代码.因此,运行时性能(Python虚拟机的bcoz)不会成为问题.
如果您只想编译静态类型语言,请查看Haskell.
| 归档时间: |
|
| 查看次数: |
656 次 |
| 最近记录: |