問題タブ [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 投票する
2 に答える
78 参照

jruby - JRuby で c-extensions を持つ gem を使用しますか、それとも Java に移植しますか?

入力文字列と以前に入力した文字列の間であいまい一致テストを行っています。テストは入力中にライブで実行されます。

私はすでに多くの言語に翻訳されているStrikeAMatchと呼ばれる驚くほど正確なアルゴリズムを実装しています。私が見つけた最速の Ruby 実装はamatchです。ただし、 Ruby (MRI) 用の C インタープリターを必要とするC 拡張でデータを処理するため、私の JRuby 環境とは互換性がありません。ただし、かなり高速です。

代替環境の設定を回避できれば幸いです。別のアプローチとして、JRuby Wiki で提案されているように、元の Java コードを試して移植することもできます。しかし、それを行う方法がわかりません。

これにアプローチする方法についてのアイデアはありますか?

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

ruby-on-rails - クラスタ化された puma が同時に複数のリクエストを受け入れない

Heroku マニュアルに基づいて puma Web サーバーをセットアップしました: Deploying Rails Applications with the Puma Web Server

config/puma.rb:

Procfile内容:

ここsleep 10で、応答を遅らせるアクションにアクセスしてから他のアクションにアクセスしようとすると、Puma がこれら 2 つのリクエストを同時に処理することがわかりました (2 つのワーカーがあるため)。ただし、代わりに、スリープ状態の最初のリクエストが完了するのを待ってから、2 番目のリクエストに進みます。何か不足していますか?

私のセットアップは次のとおりです。

  • ルビー 2.2.4

  • レール 4.2.0

編集:

わかりました。Heroku で動作することがわかりました。質問は、開発モードで動作しないのはなぜですか?

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

c - #define ROBJECT_EMBED_LEN_MAX ROBJECT_EMBED_LEN_MAX は何をしますか?

MRI のコードをブラウズすると、#define理解できない次の s が見つかりました。

それらのポイントは何#defineですか?彼らは何もしていないようです...

このコードはruby/include/ruby/ruby.h、ruby github リポジトリのファイルにあります。

0 投票する
0 に答える
326 参照

ruby-on-rails - クラスメソッドでクラスのインスタンスをメモ化するとRubyでメモリリークが発生しますか?

同僚と私は、Ruby on Rails アプリケーションのメモリ リークを探している最中であり、次のようなコードが原因である可能性があるという最初の兆候がいくつかあります。

私たちの推測では、self.exampleはクラス メソッドであるため、メモ化された のインスタンスを適切にガベージ コレクションできない可能性がありますWidget::Factory

これにより、バックグラウンド ワーカーの 1 つが実行されるたびにメモリ リークが発生すると考えられます。のインスタンスをスピンアップしているようですFoo::Barが、によって作成されたオブジェクトの割り当てを解除することはありませんWidget::Factory

MRI の GC がそのようなユースケースでどのように機能するかについての洞察を持っている人はいますか?

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

image-processing - FSL (BedPostX の前処理) エラー: ログファイルにエラーがあります。これは何を意味するのでしょうか?

BedpostX FSL の前処理を行うと、次のメッセージが表示されます。

だから私はログファイルをチェックしました:

しかし、私はそれが何を意味するのか本当に知りません。プロセスがほぼ完了したのは本当に奇妙な原因です (上記の 61 で停止したことを参照)。私はほとんどすべての出力を得ました。だから私の質問は:

  1. エラーの意味は何ですか?
  2. プロセスはまだ完了していますか?(上記を参照してください)
  3. そうでない場合、問題を解決するために何ができますか?

別のスクリーンショットを次に示します。

エラーメッセージ