- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在考虑将我们的 ruby 解释器更新为 JRuby,这非常令人头疼,因为我们不得不从我们的应用程序中删除任何 2.x 特定语法并求助于 ruby 1.9.3 兼容性。这不是世界末日。
当运行该应用程序时,我发现我们无法在集群模式下使用 Puma。问题是,鉴于过去几年对 MRI 的所有修复和更改,拥有“真实线程”的好处是否仍然有效?
更新
为了使这个更客观,问题是“最新版本的 MRI 是否不需要采用 JRuby 来实现 native 线程为您带来的相同好处?”
最佳答案
Does the latest version of MRI negate the need to adopt JRuby to achieve the same benefits that native threads give you?
答案是否定的。它并不否定需要,它取决于您在其他答案中提到的应用程序。
此外,JRuby 不允许您以集群模式运行,但对于您的问题而言这并不是真正的问题,因为它是多线程和并行的。只需在单模式下运行,并根据需要使用尽可能多的线程。它应该非常好,如果不是更轻的话。
让我给你一些引用,让你有更多的洞察力,让你深入挖掘。
这answer讨论使用 Puma(最多 40 个线程)使用 MRI 和 JRuby 测试并发请求的实验。内容很全面。
需要注意的是它只测试并发请求,但在 Controller 中没有竞争条件。但是,我认为您可以实现本文 Removing config.threadsafe! 中的测试无需太多努力。
JRuby 和 MRI 的区别在于 JRuby 可以并行执行代码。 MRI 受 GIL 限制,一次只能执行一个线程。您可以在本文 Nobody understands the GIL 中阅读有关 GIL 的更多信息.
结果非常令人惊讶。 MRI 比 JRuby 更快。随意改进和添加竞争条件。
请注意,两者都是多线程的并且不是线程安全的。真正的区别在于 MRI 不能并行执行代码,而 JRuby 可以。
如果实验表明 MRI 速度更快,您可能会想说为什么我回答“否”。
我认为我们需要更多的实验,尤其是现实世界的应用。
如果您认为 JRuby 应该更快,因为它可以并行执行代码,那么原因可能是:
关于ruby - 与使用 Puma 的最新 MRI 相比,运行 JRuby 是否还有优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26006487/
这个问题在这里已经有了答案: 11年前关闭。 Possible Duplicate: Haskell: difference between . (dot) and $ (dollar sign) 好
我对 Java 平台没有任何了解,我想知道可以使用哪些工具(和方法)来帮助开发用 Java 编写的可维护代码。 我知道可以使用: 适用于任何环境的敏捷方法 用于单元测试代码的 jUnit/jMock(
我们的产品需要支持 IE9,但我们一直假设 IE9 支持 IE10+ CSS 规则。 是否有一种巧妙的方法来获取在 IE10+ 中有效但在 IE9 中不受支持的所有 CSS 规则,目的是在静态代码分析
我需要为 MyString 类重载运算符 + 和 +=。 MyString.h class MyString { char* m_pStr; }; 主要
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在升级现有的旧代码以使用 VS 2019*,在代码中我有以下函数在返回行失败: int foo(const char *fn) const { ofstream out(fn,ios::b
我想使用 R2D3 pacakge 在 R 中,但我不确定这个包与 D3.js 库的关系。 R2D3 是否以任何方式限制 D3 的功能?我们可以将 R 中的所有 D3 功能和特性与 R2D3 一起使用
我正在使用 WPF 语音识别库,试图在桌面应用程序中使用它来替代菜单命令。 (我想专注于没有键盘的平板电脑体验)。它可以工作 - 有点,除了识别的准确性太差以至于无法使用。所以我试着听写到 Word。
我在学校参加数据库类(class)。老师给了我们一个简单的练习:考虑以下简单的模式: Table Book: Column title (primary key) Column gen
我正在尝试学习 MVVM 模式,特别是当 View 表示数据库表时该怎么做,但 View 有几个元素表示单个数据库字段。举个简单的例子: 假设我有一个 DateTime 类型的数据库字段(每个数据库字
我有两张 table 。表单有约 77000 行。日志约有 270 万行。 以下查询将在不到一秒的时间内返回“30198”: SELECT COUNT(DISTINCT logs.DOCID) FRO
当您在 Eviews 中进行回归时,您会得到一组这样的统计数据: 在 R 中有没有一种方法可以在一个列表中获得所有/大部分关于 R 回归的统计数据? 最佳答案 请参阅summary,它将为大多数回归对
如果我枚举 type XType int const ( X1 XType = iota X2 ... Xn ) var XTypeNames = []string{"x1", "x2
我正在试用 ranger R包加速做了很多randomForest计算。我正在检查我从中得到的预测,并注意到一些有趣的事情,因为所做的预测完全不正确。 以下是比较 randomForest 的可重现示
我发现 Clang 编译速度比 GCC 慢了四倍。知道是什么原因造成的吗? ebg@tsuki(250)$ time /usr/bin/cc -DHC4 -DSAFETY -DNOREDUCE -DN
我注意到在尝试以 JSON 格式发布表单数据时,以下内容不起作用: $.ajax({ type: "POST", url: url, data: JSON.string
我的代码库中有很多 #if DEBUG/#endif 语句,它们大多具有断言类型逻辑,我不敢在生产环境中运行这些逻辑。 [Conditional("DEBUG")] public void Check
所以我正在开发一个平方根计算器,但我不知道 while 循环是否比 do while 循环更适合。 double x, y = 1.0, newY, squareRoot; bool
我有两个列表,一个是所有语言,另一个是网站拥有的语言子集,我的想法是返回所有语言,但如果子集的元素对应于所有语言的列表,则更改 bool 值的属性. 语言的DTO: public class DTOL
以下控制台应用程序运行正常 - 我很惊讶它没有出错。 class DelegateExperiments { //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
我是一名优秀的程序员,十分优秀!