【问题标题】:Which one of C# and Java is more easy and fast when interfacing with Statistics/Simulation Softwares?与统计/模拟软件交互时,C# 和 Java 哪个更容易和更快?
【发布时间】:2011-01-13 19:28:54
【问题描述】:

首先,我对这种类型的接口几乎一无所知,这是第一次,我正在尝试。我希望使用 Maple 或 Mathematica 或 R 的统计/模拟软件之一进行计算,并使用 C#/Java 处理其他领域,如持久性和数据收集等。

你能告诉我这些平台中的哪一个(.Net/Java)对这个练习更友好:

  • 将数据准备为统计软件可用的格式所需的工作
  • 在内存要求和两个程序之间通信所需时间方面的性能。

我知道单个平台可能并不适合所有平台,而一个平台可能非常适合 maple,但对于 R 来说太糟糕了。我正在寻找的是一个很好的组合。

为什么我没有固定在 Maple/Mathematica/R 之一上?好吧,它们都对我可用,而我要计算的内容非常普遍,并且在所有这些中都可用。

所以归根结底就是哪一个更容易连接。

干杯

【问题讨论】:

    标签: c# java integration wolfram-mathematica maple


    【解决方案1】:

    准备数据所需的工作量 统计可用的格式 软件

    这确实没有概述问题。如果您要进行一些复杂的解析,答案可能更多的是围绕可用的库。什么都不知道,我猜Java。如果不需要特殊库,它们可能是相等的。

    内存方面的性能 要求和时间 两个程序之间的通信

    两者之间的内存是相似的,并且主要是您使用的应用程序和库的一个方面的一个因素。对于 cpu 性能,所有其他方面都相同,我通常发现 CLR 比 JVM 具有更好的原始性能。但是,请注意该声明。根据您使用的代码和库,您可能会得到截然不同的结果。

    另一个考虑因素取决于您的问题的性质。如果您发现您有一些可以卸载到本机代码的密集处理,您会发现从 CLR 访问本机代码比从 JVM 访问本机代码更容易、更快。

    【讨论】:

    • 我明白,如果没有决定实际的软件,很难正确回答。因此,我首先根据此处找到的比较最终确定了该软件包:scientificweb.com/ncrunch/ncrunch5.pdf(非常彻底但不是非常最新(2008 年))所以我选择了 Mathematica。完成后,我发现几乎所有人都同意 CLR 调用本机代码比调用 Java 要好得多。另外,如果我对我写的东西很小心;我可以从 CLR 中获得比 Java 更多的东西。所以它是“C#+Mathematica”。也使用:stackoverflow.com/questions/1783564
    【解决方案2】:

    查看here,了解您可能想要使用哪种语言的一些很好的见解。 Java 可能会得到最好的支持(尽管我确实不想这么说)

    【讨论】:

      【解决方案3】:

      有两个问题。

      • 准备数据。通常任何语言都可以,但 Perl 非常适合处理文本。
      • 接口。这是高度依赖程序的,所以它是另一种方式。只能在Unix上用IPC跟它对话,那C#就不行了,如果只能在WIndows下用COM跟它对话,C#可能更好。

      所以,弄清楚你将使用什么包,以及它可以做什么。

      【讨论】:

        【解决方案4】:

        就语言而言,您不太可能看到真正的区别。也许 C# 比它的更新更好。然而,Java 的存在时间更长,并且拥有更多的开源库。这意味着您更有可能在 Java 中找到适合您的 X 或 Y 库。

        这里只是一些可用的开源 Java 库。 http://java-sources.org/1 Google 可以帮助您找到更多库。

        【讨论】:

          猜你喜欢
          • 2011-06-20
          • 1970-01-01
          • 2019-11-26
          • 1970-01-01
          • 2011-01-07
          • 1970-01-01
          • 2018-01-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多