タグ

RubyとCPUに関するYassLabのブックマーク (2)

  • 「その処理、本当に並列ですか?」Node.js, Python, Ruby, Goで踏み抜くCPUバウンドの罠

    この記事は「Hacobell Developers Advent Calendar」ー 8日目の記事です。 はじめに 「あの言語の並行処理って、結局どう動くんだっけ?」 日々の開発業務に追われる中で、ふと立ち止まってしまうことはありませんか?現代のアプリケーション開発において、マルチコアCPUの性能を最大限に引き出し、ユーザーに快適なレスポンスを返すために並行処理の理解は不可欠です。 しかし、使用する言語によって、そのアプローチや内部的な挙動は驚くほど異なります。 記事では、Node.js, Python, Ruby, Goをピックアップし、それぞれの並行処理モデルが「CPUバウンドなタスク」と「I/Oバウンドなタスク」に対してどのように振る舞うのか、具体的なコード例を交えながらその違いを再整理します。 対象読者 記事は以下のような方を想定しています。 複数の言語を日常的に使用している

    「その処理、本当に並列ですか?」Node.js, Python, Ruby, Goで踏み抜くCPUバウンドの罠
    YassLab
    YassLab 2025/12/11
    “Ractor: CPUバウンドなタスクの解決策 -- Ruby 3.0以降ではRactorという並列実行機構が導入されました。各Ractorオブジェクトが独立したGVLを持つため、CPUバウンドなタスクを並列実行できます。”
  • リレー式論理回路シミュレータを自作して1bit CPUまで動かした - Qiita

    アニメgifが表示されない場合はこちらをクリックしてください 左下のスイッチがクロックで、右下のスイッチで命令( MOV A, A と NOT A )を切り替えています。 回路図を描いて動かすまでの流れ: 回路図を LibreOffice Draw で描いて .fodg 形式で保存 fodg ファイルを読んで前処理し、中間データ(JSON)に変換 シミュレータのプログラムと中間データを使ってブラウザで実行 LibreOffice Draw で描いた回路図はこんな感じ。 直線と矩形、矩形内のテキストだけです。部品はグリッドに合わせて配置します。ナナメの配線は禁止。 使っている部品: 導線 電池のプラス極・マイナス極 ランプ スイッチ。マウスでクリックすると ON/OFF が切り替わります。 リレー(2種類) ランプ、リレーには極性なし(プラス極・マイナス極を入れ替えても動作は変わらない) 小

    リレー式論理回路シミュレータを自作して1bit CPUまで動かした - Qiita
    YassLab
    YassLab 2023/04/30
    “回路図エディタの部分を LibreOffice Draw に丸投げすることにより、製作期間をかなり短縮してシミュレータ部分に集中することができました。/ ほぼ Ruby 製。ブラウザで動かす部分は DXOpal を使っています。”
  • 1