問題タブ [mri]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6932 参照

ruby - JRuby と Puma を使用した最新の MRI を実行する利点はまだありますか?

ruby インタープリターを JRuby に更新することを検討しています。アプリから 2.x 固有の構文をすべて削除し、ruby 1.9.3 との互換性に頼らなければならなかったため、かなりの頭痛の種でした。それは世界の終わりではありません。

アプリを実行すると、クラスター モードで Puma を使用できないことがわかりました。問題は、過去数年間の MRI に対するすべての修正と変更を考えると、「実際のスレッド」を持つことの利点がまだ有効かということです。

アップデート

これをより客観的にするための質問は、「最新バージョンの MRI は、ネイティブ スレッドが提供するのと同じ利点を達成するために JRuby を採用する必要性を否定するか?」です。

0 投票する
1 に答える
70 参照

c - エラー メッセージ ArgumentError: no id given は、method_missing の呼び出し時に発生します。

この不可解なエラー メッセージが表示されるのではなく、method_missing最初のパラメーターを as で呼び出すと、次のようになります。'string':symbol

method_missingのソースコードを見ると

エラーメッセージには何もありませんArgumentError: no id given。それはどこから来たのですか?

0 投票する
1 に答える
1632 参照

ruby - この Ruby プログラムがオフ ヒープ メモリをオペレーティング システムに返さないのはなぜですか?

Ruby ヒープから割り当てられたメモリがいつオペレーティング システムに返されるかを理解しようとしています。Ruby がヒープに割り当てられたメモリを返さないことは理解していますが、オフ ヒープ メモリの動作についてはまだよくわかりません。つまり、40 バイトの RVALUE に収まらないオブジェクトです。

いくつかの大きな文字列を割り当ててからメジャー GC を強制する次のプログラムを考えてみましょう。

MRI で Ruby 2.2.3 を使用してこのプログラムを実行すると、次の出力が生成されます。強制メジャー GC の後、ヒープ サイズは予想どおりですが、RSS は大幅に減少していません。

これらの結果を、多数の小さなオブジェクトではなく 1 つの大きなオブジェクトを割り当てた場合の次の結果と比較してください。

最終的な RSS 値に注意してください。大きな文字列に割り当てたすべてのメモリを解放したようです。

2 番目の例がメモリを解放する理由はわかりませんが、最初の例はどちらも Ruby ヒープからメモリを割り当てているため、そうではありません。これは説明を提供できる参考文献の 1 つですが、他の人からの説明に興味があります。

メモリを解放してカーネルに戻すことにもコストがかかります。ユーザー空間のメモリ アロケータは、同じプロセス内で再利用でき、他のプロセスで使用するためにカーネルに返さないことを期待して、そのメモリを (プライベートに) 保持する場合があります。

0 投票する
1 に答える
35 参照

mri - 異なるサイズの fdg との MRI の同時登録

サイズの違う画像同士を重ねてfdg登録したい。mri使ってみSPMましたが出来ませんでした。

従うべき手順を教えてもらえますか?

画像の 1 つをサイズ変更または再サンプルする必要がありますか?

0 投票する
1 に答える
195 参照

ruby - MRI Ruby スレッドとパフォーマンス

SOに関する私の最初の質問ですが、私は長い間潜んでいたので、ルールを破ったり、ゴミの質問を投稿したりした場合は、私を許してください.

私はスレッド化をよりよく理解しようとしており、MRI をテストして、一般的なパフォーマンスを確認することにしました。

次のコード (および出力) を考えると、スレッド化された操作がスレッド化されていないバリアントよりもはるかに遅いのはなぜですか?

コード

出力

前もって感謝します。

0 投票する
1 に答える
44 参照

ruby - twitter gem で並列呼び出しを行う

Twitter gem を使用して、アプリから API 呼び出しを行い、データを取得しています。

の配列がuser_idsあり、次のようにして各ユーザーのすべてのツイートを取得したいと考えています。

これらの呼び出しを同時に行う方法はありますか? typhoeusまたは同様の gem をtwitterで使用できる方法はありますか? この操作を高速化する他の方法はありますか?