タグ

CRubyに関するhiroyukimのブックマーク (3)

  • Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社

    要約 メモリ断片化は測定や診断が困難ですが、驚くほど簡単に修正できることもあります。マルチスレッドのCRubyプログラム(mallocのスレッド単位メモリアリーナ)におけるメモリ断片化の原因を追ってみましょう。記事のボリュームは3343語、20分程度です。 単純な設定変更だけで問題を完全に解決できることはめったにありません。 私の顧客のSidekiqプロセスが大量のメモリを消費していたことがありました(1プロセスあたり1 GB程度)。開始当初の各プロセスは300MB程度でしたが、時間の経過とともにじわじわと肥大化してほぼギガバイトレベルにまで達したところで落ち着き始めました。 私は顧客にMALLOC_ARENA_MAXというたった1つの環境変数の変更を依頼しました。「2に設定してください」と。 プロセス再起動後、「じわじわ肥大化」現象はピタリと止みました。プロセスのメモリ使用量は以前の半

    Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社
  • CRubyのGVLとビジーループ - kyabの日記

    mrubyのVMのマルチスレッド対応がgithubにて議論されています。 multi-thread support on the RiteVM #1657 自分もthread-safeなVMが欲しいなぁと思っています。STM32F4DiscoveryにFreeRTOS載せて使ってみたい。 並行・並列処理の戦国時代? さて、マルチコアが普通になったし、WebアプリのC10K問題があるので並行・並列処理は昨今のトピックです(多分)。 ただマルチスレッドプログラミングは難しすぎ!というは昔から言われていたことです。 で、もうちょい並行・並列処理を書きやすく出来ないのかよ?ということでErlang,go,Scala(Actor),EventMachine,Thread pool ,node.js,deferred,future,java.util.concurrent色々出てきました (言語とライ

    CRubyのGVLとビジーループ - kyabの日記
  • Big Sky :: Crystal と CRuby でHTTPサーバのベンチマーク

    Matz も驚く Crystal これ、Rubyでもそのまま動くんじゃないか? Crystalすげーっ。 https://t.co/pO0F0vqTly — Yukihiro Matsumoto (@yukihiro_matz) June 16, 2015 Crystal Language Goals Ruby-inspired syntax. Statically type-checked but without having to specify the type ... http://crystal-lang.org/ ruby と殆ど同じシンタックスが通る様です。 # A very basic HTTP server require "http/server" server = HTTP::Server.new(8080) do |request| HTTP::Response.o

    Big Sky :: Crystal と CRuby でHTTPサーバのベンチマーク
  • 1