【发布时间】:2011-05-28 08:58:59
【问题描述】:
首先 - 这并不是要成为一个“更好的、无知的非离子战争线程”……而是,我通常需要帮助来做出架构决策/论证以提交给我的老板。
跳过细节 - 我只是想知道并找到任何对 Shell 与 [在此处插入通用编程语言(解释)进行了一些性能比较的人的结果,例如 C# 或 Java...
令人惊讶的是,我在 Google 上花了一些时间在这里搜索,却没有找到任何这些数据。有没有人在不同的用例中做过这些比较?像在 XYX 循环中一样命中数据库,执行不同类型的 SQL(Oracle 首选项,但 MSSQL 会执行)查询,例如任何 CRUD 操作 - 也没有命中数据库,只是常规 50k 循环类型比较执行不同类型的计算,以及那种性质的东西?
特别是 - 现在,我需要比较从 shell 脚本访问 Oracle DB 与 C#(同样,任何解释的 GPPL 都可以,即使是更高级别的,如 Python)。但我还需要了解标准编程计算/指令/等...
在你问‘为什么不自己写一个快速测试?答案是:我的一生/职业生涯都是一名 Windows 开发人员,并且对 Shell 脚本的了解非常有限——更不用说整个 *nix.... 所以在这里提出更多问题有经验的人会非常受益,更不用说节省时间了,因为我们正处于接近永久的最后期限紧缩状态;)。
【问题讨论】:
-
C# 和 Java 不被解释。
-
我认为更好的问题是“为什么这对你很重要?”您显然有一个用例,如果我们知道它是什么,那么我们可以提供更多帮助。
-
Shell 和编程语言有非常不同的用途,而且您通常无法在两者中表达相同的东西。这就像将 Emacs Lisp 与 .Net 进行比较。您提到了 SQL 查询,但 shell 没有任何方法可以做到这一点。它会为此调用一些外部程序。
-
@cdhowie,实际上较旧的 JVM 只是简单地解释了 java 字节码,这往往更慢。所以,从这个意义上说,Java 是“被解释的”。
-
@Chris - 用例是业务询问我们'当我们在您的应用程序上按下此按钮时(瘦客户端 .NET WinForms 应用程序与运行 .ksh 脚本的 *nix 服务器通信)需要 40 分钟运行 - 我们希望它降低到 5 分钟。是的,我知道如何处理业务以及管理期望。叹息,我只想问一个问题并在没有“更多详细信息”的情况下得到答案,因为我为我的 Q 提供了很多 - 其他一切都无关紧要(是的,我知道如何处理业务祛痰,是的,我知道什么是分析器是的,是的,我知道 CLR 和 JVM 是如何工作的……
标签: c# java performance shell interpreted-language