並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 62件

新着順 人気順

threadの検索結果1 - 40 件 / 62件

threadに関するエントリは62件あります。 programmingプログラミングCPU などが関連タグです。 人気エントリには 『世界中のITエンジニアが悩まされている原因不明でテストが失敗する「フレイキーテスト」問題。対策の最新動向をJenkins作者の川口氏が解説(前編)。DevOps Days Tokyo 2022』などがあります。
  • 世界中のITエンジニアが悩まされている原因不明でテストが失敗する「フレイキーテスト」問題。対策の最新動向をJenkins作者の川口氏が解説(前編)。DevOps Days Tokyo 2022

    世界中のITエンジニアが悩まされている原因不明でテストが失敗する「フレイキーテスト」問題。対策の最新動向をJenkins作者の川口氏が解説(前編)。DevOps Days Tokyo 2022 世界中のITエンジニアが悩まされている問題の1つに、テストが原因不明で失敗する、いわゆる「フレイキーテスト」があります。 フレイキーテストは、リトライすると成功することもあるし、失敗する原因を調べようとしてもなかなか分かりません。GoogleやFacebookやGitHub、Spotifyといった先進的な企業でさえもフレイキーテストには悩まされています。 このフレイキーテストにどう立ち向かうべきなのか、Jenkinsの作者として知られる川口耕介氏がその最新動向を伝えるセッション「Flaky test対策の最新動向」を、4月21日、22日の2日間行われたイベント「DevOps Days Tokyo 2

      世界中のITエンジニアが悩まされている原因不明でテストが失敗する「フレイキーテスト」問題。対策の最新動向をJenkins作者の川口氏が解説(前編)。DevOps Days Tokyo 2022
    • CPUとGPUのマルチスレッディングの違いについて - arutema47's blog

      "Locality is efficiency, Efficiency is power, Power is performance, Performance is King", Bill Dally マルチスレッディングとは? CPUとGPUのマルチスレッディングの違いをブログにまとめていたけど例によって誰も興味なさそう— arutema47 (@arutema47) 2021年8月16日 つぶやいたら読みたい方が多そうだったので完成させました。 マルチスレッディングとはメモリ遅延を隠蔽しスループットを上げるハードウェアのテクニックです。 ただCPUとGPUで使われ方がかなり異なるため、その違いについて考えてみる記事です。 (SIMDについて並列プログラミングの観点から触れるべきでしたが、時間無いマルチスレッディングに注目するため初版では省きました。) 本記事について 本記事はCPUとG

        CPUとGPUのマルチスレッディングの違いについて - arutema47's blog
      • 2ちゃんねるの開設当初の裏話をひろゆきが発言

        rei@サブアカウント @Shanice79540635 2chのシステムは実はひろゆき氏が作ったものではなく「あめぞう掲示板」の全コピーであり、尚且つあめぞうは全盛期は(カウンタが正確なら)日本1のアクセス数を達成していた…という事実はインターネット古参勢もあまり知っていないんだよな twitter.com/iikagenni_siro… 2022-10-10 21:41:28 小山(凍) @iikagenni_siro_ ゼロ年代初頭のITバブル期に日本で最大級アクセスが集まるサイトでありながら、金融機関からの融資もIPOも経ずひたすら個人サイトの延長で運営し続け、最終的にオワコンになった2chって日本の起業風土がゴミカスであることの象徴みたいな事例だと思うんですよね。ひろゆきの無能だけが理由ではない。 2022-10-10 19:52:28

          2ちゃんねるの開設当初の裏話をひろゆきが発言
        • イーロン・マスクの「Twitterアプリが遅い」発言が間違っていると指摘したTwitter従業員が解雇される

          2022年10月27日にイーロン・マスク氏がTwitterを買収して以降、同社のCEOやCFO、従業員の約半数、さらには4400人の契約社員までもが解雇されています。そんなTwitterの大規模人員整理の中で、マスク氏のツイート内容が間違っていると指摘したエンジニアが解雇されたことが明らかになりました。 Elon Musk Publicly Punishes Twitter Engineers Who Call Him Out Online - Bloomberg https://www.bloomberg.com/news/articles/2022-11-14/musk-publicly-punishes-twitter-engineers-who-call-him-out-online Elon Musk says he fired engineer who corrected hi

            イーロン・マスクの「Twitterアプリが遅い」発言が間違っていると指摘したTwitter従業員が解雇される
          • JavaScriptはなぜシングルスレッドでも非同期処理ができるのか/Why Can JavaSctipt Invoke Asynchronous in Single Thread?

            JavaScriptはシングルスレッドであることが知られています。そして、Promiseを用いた非同期処理ができることは周知の事実です。では、なぜシングルスレッドで非同期処理ができるのでしょうか? その点について、非同期処理のための2種類のQueuesについて触れつつ、コードベースでの説明も行います。

              JavaScriptはなぜシングルスレッドでも非同期処理ができるのか/Why Can JavaSctipt Invoke Asynchronous in Single Thread?
            • 排他制御の基礎の基礎

              はじめに システムに存在するリソースには同時にアクセスしてはいけないものが多々あります。身近な例を挙げると、Ubuntuのパッケージ管理システムのデータベースがあります。aptコマンドの動作によってこのデータベースは更新されるのですが、同時に2つ以上のaptが動作できたとすると、データベースが破壊されてシステムが危機的状況に陥ります。 このような問題を避けるために、あるリソースに同時に1つの処理しかアクセスできなくする排他制御というしくみがあります。排他制御はOSが提供する重要な機能の一つです。 排他制御が必要なケース 排他制御は直感的ではなく非常に理解が難しいのですが、ここでは比較的理解が簡単なファイルロックというしくみを使って説明します。説明には、あるファイルの中身を読みだして、その中に書いてある数字に1を加えて終了するincというという単純なプログラムを使います。

                排他制御の基礎の基礎
              • setTimeout を完璧に理解する

                setTimeout は、指定された時間以降に指定されたコードを実行する JavaScript の API です。ブラウザでも Node.js でも広く使われているのですが、実装はまちまちで、色々と特殊な条件も多く、挙動を完璧に理解している人は少ないと思います。この記事では、そんな setTimeout を可能な限り深堀りしてみようと思います。 先に書いておきますが、ものすごくニッチで細かい話ばかり並びます。突然私が、ただ純粋に setTimeout について調べたくなったので、その結果をまとめただけのものです。普通に開発している人には必要のない情報が多くなるでしょう。この記事は基礎から setTimeout を学ぼう、という方には全然向かないと思います。 また、JavaScript のイベントループについてある程度理解していることを前提とします。その詳しい理解には、@PADAone さん

                • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

                  はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

                    【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
                  • 「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳

                    Apple M1についての面白い記事を見かけて、久しぶりにメモリモデル屋(?)の血が騒いだのでブログを書く。 note.com 強いメモリモデル 現代のCPUアーキテクチャでは、x86(64bit, 32bitどちらも)が「強いメモリモデル」を採用しており、それ以外のメジャーなCPUが「弱いメモリモデル」を採用している。この「強いメモリモデル」「弱いメモリモデル」について、まずおさらいしておこう。 以下のように、2つの変数a, bに対して異なるCPUコアが同時にアクセスしたとする。 int a = 0; int b = 0; CPU1: a = 1; b = 1; CPU2: int r1 = b; int r2 = a; (上記はC言語に似た疑似コードを用いているが、実際は機械語命令になっていると考えてほしい。つまり、CPU1は変数a, bの示すメモリアドレスに対するストア命令を実行して

                      「強いメモリモデル」と「弱いメモリモデル」 - yamasaのネタ帳
                    • Qemuのしくみ (の一部) - VA Linux エンジニアブログ

                      1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション 1.2 QemuのCPUエミュレーション 1.3 Qemuのスレッド 2. 追加のI/OスレッドとAioContext 2.1 追加のI/Oスレッド 2.2 AioContext 2.3 Big Qemu Lock 3. AioContextの各種イベント処理 3.1 AioHandler 3.2 event_notifier 3.3 タイマー、Bottom half 3.5 スレッドプール 執筆者 : 箕浦 真 こういう 仕事をしていると、ときどきQemuの仕組みや内部動作をお客様に説明する必要があることがあるが、そういう時に「Qemuの〜についてはここを見てね」と言えるような文書があるといいなぁと思って自分で作ってみることにした。 1. 細々とした予備知識 1.1 Qemuのデバイスエミュレーション Qemuはコンピ

                        Qemuのしくみ (の一部) - VA Linux エンジニアブログ
                      • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

                        技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

                          Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
                        • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

                          この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から本格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

                            Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
                          • (C#) async/await を理解する - ネコのために鐘は鳴る

                            この記事は Qiita C# Advent Calendar 2021 の5日目の記事です。 はじめに C# で async/await が登場してからずいぶんと時間がたち、モダンな C# においてはほぼ必須となりました。Unity でも UniTask などのライブラリもあり、簡単に非同期処理が書けます。この記事では C# での非同期処理の歴史にも触れつつ async/await の動作原理について書きます。 Unity C# の話を書いた方が需要が高そうなので Unity および UniTask を前提にした説明とコードが多く出てきますが、async/await は C# の言語機能であるため、動作原理自体は .NET でも同じです。非 Unity の文脈では適宜読み替えてください。 また、詳細を完璧に説明するよりもわかりやすさを重視したため、一部正確さを欠いた説明をしています。ご了承

                              (C#) async/await を理解する - ネコのために鐘は鳴る
                            • MVCCとInnoDBでの実装について - shallowな暮らし

                              こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうものかについて解説をして、次にMVCCの実装方法についてInnoDBの実装を参考にしながら見ていこうと思います。前提知識はあまりいらないと思いますが、リレーショナルデータベースの操作経験はあったほうがいいかなと思います。また、前回のストレージエンジンの解説で述べた内容はあまり説明しないので、軽く目を通してもらえると頭に入りやすいかなと思います。 shallow1729.hatenablog.com トランザクションの原子性 まずトラ

                                MVCCとInnoDBでの実装について - shallowな暮らし
                              • Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ

                                Ruby の開発をしている技術部の笹田です。娘が自転車に乗り始め、まだ不安なためずっとついていなければならず、少し追っかけまわしただけで息切れがヤバい感じになっています。運動しないと。 ここ数年、Ruby で並列処理を気軽に書くための仕組みである Ractor を Ruby 3.0 で導入するという仕事を、クックパッドでの主務として行ってきました(クックパッドから、これ、と言われていたわけではなく、Ruby を前進させるというミッションの上で行ってきました)。 Ractor は、もともと Guild という名前で開発をはじめ、2020年の春頃、Ractor という名前に変更することにしました。いくつかの機会で発表しています。下記は、RubyKaigi での発表の記録です。 A proposal of new concurrency model for Ruby 3 - RubyKaigi

                                  Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ
                                • 言語のスレッド実装の雑な話(Green threadからGoのgoroutineまで)

                                  Twitterで "green thread" という単語をたまたま見かけたので、知っていることをつぶやいたよ。 Green thread 言語のスレッドとOSのスレッドの関係 N:1 mapping 言語のスレッドの全てがひとつのOSのスレッドの上で実行されるもの。その代表が上記のJavaのgreen thread。 OSのシステムコールを呼ぶときには必ずnonblockingモードを使い、EAGAIN または EWOULDBLOCKが返ってきたときには他のスレッドの実行権に譲るようにする必要がある。うっかりシステムコールでブロックされてしまうと、全部のスレッドが巻き添えになって動けなくなる。 スレッドの生成やコンテキストの切り替えは軽い。しかし、マルチコアを生かすことができないため、シングルコアの環境でのみ使用される。 1:1 mapping OSのスレッドと言語のスレッドが1対1対応

                                    言語のスレッド実装の雑な話(Green threadからGoのgoroutineまで)
                                  • GoとRust - 並行処理編

                                    GoとRustの変更処理を比較することで両者を深く理解する試みです。 詳しい内容やスライドでは省いたところをブログに書きました https://zenn.dev/nasa/articles/compare_rust_go_concurrency

                                      GoとRust - 並行処理編
                                    • Go Scheduler

                                      ↑ ↓ Go Scheduler Introduction Compilation and Go Runtime Primitive Scheduler Scheduler Enhancement GMP Model Program Bootstrap Creating a Goroutine Schedule Loop Finding a Runnable Goroutine Goroutine Preemption Handling System Calls Network I/O and File I/O How netpoll Works Garbage Collector Common Functions Go Runtime APIs Disclaimer This blog post primarily focuses on Go 1.24 programming langu

                                        Go Scheduler
                                      • FFmpegコマンドラインツールのマルチスレッド化が完了、開発者いわく「数十年で最も複雑な修正」

                                        オープンソースのマルチメディアフレームワーク「FFmpeg」の開発チームがコマンドラインツールのマルチスレッド化完了を報告しました。開発チームは一連の作業を「ここ数十年で最も複雑なリファクタリング」と表現しています。 FFmpeg CLI multithreading is now merged! https://t.co/uUJ0SF0opw— FFmpeg (@FFmpeg) December 12, 2023 FFmpegは非常に多くの種類の動画ファイルや音声ファイルを処理可能なマルチメディアフレームワークで、動画および音声ファイルの再生やトリミング、変換、圧縮など多様な操作が可能です。FFmpegは直接コマンドラインから使えるほか、数多くの動画再生ソフトや動画編集ソフト、ストリーミングサービスなどに組み込まれて広く利用されています。 FFmpegはエンコーダーやデコーダー、マルチプ

                                          FFmpegコマンドラインツールのマルチスレッド化が完了、開発者いわく「数十年で最も複雑な修正」
                                        • Title Page - The Rust Performance Book

                                          Press ← or → to navigate between chapters Press S or / to search in the book Press ? to show this help Press Esc to hide this help

                                          • PEP 703 - 兼雑記

                                            https://peps.python.org/pep-0703/ Python の GIL 外す話。これすごく楽しい読みものでした。参照カウントのところが一番人気だと思うのですが、他のところも色々良い。こういう、「んーこういうことするとこういう問題が起きない?」と思ったら次の章くらいでそれが説明される、みたいな読みものは大変好きです 参照カウント: オブジェクトっていうのは作ったスレッドが解放するというのがほとんどなんだから、その場合はロックをいらなくする、他に渡ったら普通の参照カウントぽくする、という話。 Swift に 2018 年に導入された 話らしい。他のスレッドに渡された後で DECREF すると他スレッド用の参照カウントが負になりうるのだけど、その時に queue に入れるということをして、ややこしいので、なんかこれ無しですむ方法はないのかなぁ……と Immortalize

                                              PEP 703 - 兼雑記
                                            • メモリアクセスのセマンティクスとApple siliconの裏技(?)について - yamasaのネタ帳

                                              アウト・オブ・オーダー実行について補足 前回の記事で「アウト・オブ・オーダー実行」について特に説明せずに話を進めてしまったことに気づいたので、まずはそれについて簡単に補足しておこう。 コンピューターの性能向上の歴史はレイテンシーとの戦いの歴史でもある。 colin-scott.github.io 上のサイトは年代毎にコンピューターシステムでの各種レイテンシーがどのように変化していったかを紹介している。1990年代前半はキャッシュメモリとメインメモリとの間のレイテンシー差はそれほど大きくなかったが、その後の技術革新によって現在はL1キャッシュとメインメモリとの間に100倍くらいのレイテンシー差があるようになってしまった。これはつまり、プログラム実行中にメインメモリへのアクセスが発生してしまうと、それだけ長いレイテンシーの間CPUの処理を進めることができなくなってしまうことを意味する。そのため

                                                メモリアクセスのセマンティクスとApple siliconの裏技(?)について - yamasaのネタ帳
                                              • IoT標準規格「Matter」の次世代通信プロトコル「Thread」は何がすごいのか?

                                                モノのインターネット(IoT:Internet of Things)の標準規格であるMatterは、AmazonやApple、Googleらが参加する標準団体「Connectivity Standards Alliance(CSA)」によって2022年10月に正式リリースされました。このMatterの通信方式の1つ「Thread」について、IT系ニュースサイトのThe VergeがThreadの開発団体であるThread Groupの取締役3人にインタビューした上で解説しています。 What is Thread and how will it help your smart home? - The Verge https://www.theverge.com/23165855/thread-smart-home-protocol-matter-apple-google-interview

                                                  IoT標準規格「Matter」の次世代通信プロトコル「Thread」は何がすごいのか?
                                                • WebAssemblyでマルチスレッドによる並列処理を可能にする「wasi-threads」仕様の提案、ByteCode Allianceが明らかに

                                                  WebAssemblyにおける業界標準仕様などを推進する団体「ByteCode Alliance」は、WebAssemblyでマルチスレッドによる高速な並列処理を可能にする「wasi-threads」仕様を提案したことを明らかにしました。 W3Cでのマルチスレッド仕様策定は現在フェーズ3 WebAssemblyは、Webブラウザ上で高速に実行可能なバイナリフォーマットとしてW3CのWebAssembly Working Groupで標準化が行われており、現在でも新たな機能追加や性能向上のための議論が行われています。 現時点でWebAssemlbyはシングルスレッド処理のみ可能ですが、W3Cの仕様策定の作業の中にはマルチスレッドを実現する「threads」の議論が進められており、フェーズ1のFeature Proposal(機能提案)、フェーズ2のProposed Spec Text Ava

                                                    WebAssemblyでマルチスレッドによる並列処理を可能にする「wasi-threads」仕様の提案、ByteCode Allianceが明らかに
                                                  • Optimize long tasks  |  Articles  |  web.dev

                                                    Published: September 30, 2022, Last updated: December 19, 2024 Common advice for keeping JavaScript apps fast tends to boil down to the following advice: "Don't block the main thread." "Break up your long tasks." This is great advice, but what work does it involve? Shipping less JavaScript is good, but does that automatically equate to more responsive user interfaces? Maybe, but maybe not. To unde

                                                      Optimize long tasks  |  Articles  |  web.dev
                                                    • Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ

                                                      私たちは Ruby on Rails の主要なマルチテナントライブラリ apartment を使ってサービスを提供しています。 Ruby のバージョンを 3.1 系から 3.2 系に上げたときに CSV ファイルを処理する部分でこのテナントの切り替えが意図通りに動作しませんでした。 この事象が興味深かったので共有します。 現在はこの事象に対応済で、私たちの環境は Ruby3.2 系で動作しています。 apartment ではマルチテナント対応部分をほとんど吸収してくれるので、アプリケーションのコードのほうにはあまりマルチテナント特有の処理が出てこず、個別処理のコードに集中できるメリットがあります。 事象が発生したコードは以下のような形式でした。 CSV.parse(filename, headers: true, header_converters: ->(header) { curren

                                                        Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ
                                                      • Choose the Right Python Concurrency API - Super Fast Python

                                                        How to Choose the Right Python Concurrency API Python standard library offers 3 concurrency APIs. How do you know which API to use in your project? In this tutorial, you will discover a helpful step-by-step procedure and helpful questions to guide you to the most appropriate concurrency API. After reading this guide, you will also know how to choose the right Python concurrency API for current and

                                                          Choose the Right Python Concurrency API - Super Fast Python
                                                        • M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp

                                                          STORES株式会社でRubyインタプリタ開発をしている笹田です。お正月に新年早々おでんを腐らせてしまったので、今年は作ったらさっさと食べることを目標にしたいと思います。 この記事では、主に私が開発している、Ruby 3.3で導入されたM:Nスレッドについて紹介します。 M:Nスレッドはスレッドの性能向上のために導入されました。M個(大きな数)のRubyスレッドをN個(十分小さい数)のネイティブスレッドだけで実行するというモデルで、スレッド管理のオーバヘッドを抑えられる方法として知られており、ほかにもGo言語などで利用されています。今後、大量のネットワーク接続を処理するといったことをRubyで記述することを検討したい場面が出てくるしれません。そのようなときにRubyでスイスイとプログラムが書ければいいなと思っており、その一貫です。最終的には、Ractorを用いた軽量な並列・並行アプリケーシ

                                                            M:Nスレッドによる軽量な並行処理への挑戦 | gihyo.jp
                                                          • 非同期と並列 / morrita - Message Passing

                                                            karino2 が 並列プログラムから見たFuture というビデオを作って公開していたので、引っ越しの荷造りをしながら眺めた。 長いのでここにざっくりとした主張をまとめると: Future/Promise (およびその後釜の async/await) は非同期プログラミングで callback hell にならない発明という見方をされているが、 そもそもなぜ callback hell が必要だったかの時代背景が十分に理解されていない。 背景の一つはブラウザ JavaScript のプログラミングモデルにシングルスレッド・ノンブロッキング(イベントループ)という制限があったから。 これは(特にフロントエンド開発者の間では)よく理解されている。 もう一つの視点は SEDA みたいなマルチスレッド・ノンブロッキング環境の必要性で、 こっちはいまいち広く理解されていないように思える。 結果とし

                                                              非同期と並列 / morrita - Message Passing
                                                            • Rustのスレッドとチャネルと共有メモリの話

                                                              この記事ではRustのスレッドとチャネルについてご紹介します。最後に共有メモリについても少しだけ触れます。対象としてはgolangを書ける程度の中級者レベルを想定しています。 公式ドキュメントについて Rustの公式ドキュメントはとても良く書けており英語の勉強にもなります。プログラミング・チュートリアルは圧巻ですのでぜひ原文で読んでみてください。 スレッド RustのスレッドはOSスレッド(1:1 threading)になります。GolangやJavaはグリーンスレッドです。 This model where a language calls the operating system APIs to create threads is sometimes called 1:1, meaning one operating system thread per one language thr

                                                                Rustのスレッドとチャネルと共有メモリの話
                                                              • RustのTokioで非同期とグリーンスレッドを理解する

                                                                この記事はRust Advent Calendar 2022 - Qiitaの13日目の記事です。 はじめに Rustの非同期I/Oライブラリ tokio の解説記事になります。初めに概要説明をします。その後でちょっとしたソースコードを見せながら解説をしていきます。理論より実践、実際にどう書けば良いのか知りたい人向けの記事になります。 tokioはライブラリの一つに過ぎませんが、hyper、actix-webなどのWebフレームワーク、Denoのイベントループ、Solanaのツールなどで利用されており、デファクトスタンダード的な重要なライブラリになっています。 またDiscordはtokioのスポンサーをしており、GoからRust(Tokio)で書き換えた話は小説を一冊読み終えたかのようなブラボーな興奮がありました。 ちなみに、tokioのネーミングは開発者のCarl Lercheが東京観

                                                                  RustのTokioで非同期とグリーンスレッドを理解する
                                                                • 「Core Ultraプロセッサ(シリーズ2)」は驚きの内蔵GPU性能に メモリ帯域が当初発表から“倍増”

                                                                  「Core Ultraプロセッサ(シリーズ2)」は驚きの内蔵GPU性能に メモリ帯域が当初発表から“倍増”:IFA 2024(1/4 ページ) 既報の通りIntelは9月3日(中央ヨーロッパ時間)、ドイツ・ベルリンで開催される「IFA Berlin 2024」の開幕に先立って、モバイル向け新型CPU「Core Ultra 200Vプロセッサ」(開発コード名:Lunar Lake)を発表した。 →新型SoC「Intel Core Ultra 200V」シリーズ発表! AMDやQualcommを上回る性能とバッテリー駆動時間をアピール 搭載PCは9月24日から発売 →インテルが「Core Ultraプロセッサ(シリーズ2)」搭載ノートPCを国内初披露 どんなモデルがある? IT/PC業界全体がAI(人工知能)に傾倒していく流れの中で、同社はちょうど1年前に「Core Ultraプロセッサ(シリ

                                                                    「Core Ultraプロセッサ(シリーズ2)」は驚きの内蔵GPU性能に メモリ帯域が当初発表から“倍増”
                                                                  • RubyでThreadがデッドロックしたときにバックトレースを表示する。あるいはRubyに送ったパッチの話 - Money Forward Developers Blog

                                                                    こんにちは。id:Pocke です。最近は並列処理の実装に頭を悩ませています。 この記事では並列処理の実装の中で得た学びについて共有しようと思います。 なお特にことわりがない限り、Rubyのバージョンは記事執筆時点で最新の3.4.1を使用します。 問題 Threadをふんだんに使ったプログラムをデバッグしていると、デッドロックが起きたときに、その原因となったスレッドがどこで停止しているのかを知りたくなることがあります。 例えば以下のようなケースを考えてみます。 # わざとトレースを深くするメソッド呼び出し def f(q) = g q def g(q) = h q def h(q) = q.pop def main q = Thread::Queue.new # `q` にはエンキューされないので、これらのスレッドは停止する th1 = Thread.new { f q } th2 = T

                                                                      RubyでThreadがデッドロックしたときにバックトレースを表示する。あるいはRubyに送ったパッチの話 - Money Forward Developers Blog
                                                                    • Core Ultra(シリーズ2)にデスクトップ/ハイエンドモバイル向けモデルが登場! これまでのIntel製CPUとの決定的な違い

                                                                      Core Ultra(シリーズ2)にデスクトップ/ハイエンドモバイル向けモデルが登場! これまでのIntel製CPUとの決定的な違い(1/5 ページ) IntelがNPUを統合した「Core Ultraプロセッサ」を立ち上げてから、あと2カ月ほどで1年が経過する。第1弾となる「シリーズ1(開発コード名:Meteor Lake)」はモバイルに特化したCPUとなり、デスクトップ向け製品の投入は見送られた。 そしてこの2024年シーズンに登場する「シリーズ2」は、まず9月に薄型/軽量向けの「Core Ultra 200Vプロセッサ」(開発コード名:Lunar Lake)が登場した。こちらは設計に大幅な刷新が行われ、同社としては事実上初めてメモリモジュールまで統合したことに注目が集まった。 そして10月9日(米国太平洋夏時間)、シリーズ2のラインアップにデスクトップ/ハイエンドモバイル向けモデルが

                                                                        Core Ultra(シリーズ2)にデスクトップ/ハイエンドモバイル向けモデルが登場! これまでのIntel製CPUとの決定的な違い
                                                                      • Web worker meets worker threads - threads.js

                                                                        Transparent API Write code once, run it everywhere – in web workers and node worker threads. Call workers transparently, await results. It's never been easier. // master.js import { spawn, Thread, Worker } from "threads" const auth = await spawn(new Worker("./workers/auth")) const hashed = await auth.hashPassword("Super secret password", "1234") console.log("Hashed password:", hashed) await Thread

                                                                        • partytown の Worker からの同期的メインスレッド操作を実装してみる

                                                                          Partytown とは GitHub - BuilderIO/partytown: Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉 今Partytownがヤバい。JavaScript Sandboxの未来はどっちだ? 要は 3rd party script を安全に隔離するため、 WebWorker + DOM の mock で動かす。 GitHub - ampproject/worker-dom: The same DOM API and Frameworks you know, but in a Web Worker. この DOM がすごい2018: worker-dom - mizchi's blog worker-dom との一番の違

                                                                            partytown の Worker からの同期的メインスレッド操作を実装してみる
                                                                          • Ruby methods are colorless

                                                                            👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into 12 main parts: Your Ruby programs are always multi-threaded: Part 1 Your Ruby programs are always multi-threaded: Part 2 Consistent, request-local state Ruby methods are colorless The Thread API: Concurrent, colorless Ruby Interrupting Threads: Concurrent, colorless

                                                                              Ruby methods are colorless
                                                                            • サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ

                                                                              こんにちは!ヘンリーでソフトウェアエンジニアをしている @agatan です。 今日は小ネタで、サーバーサイド Java / Kotlin エコシステムで意外と使われている ThreadLocal と、それを Coroutine と安全に組み合わせる方法について紹介します! TL; DR ThreadContextElementを使おう! ThreadLocal とは java.lang.ThreadLocal<T> は、その名の通り、スレッドローカルな(= スレッドごとに独立した値を持つ)変数を定義するための機構です。 ある Thread で値を書き換えたとしても、他の Thread から見た ThreadLocal 変数の中身は書き換わらない、という性質があります。 import kotlin.concurrent.thread val tls: ThreadLocal<Int> =

                                                                                サーバーサイド Java / Kotlin エコシステムに潜む ThreadLocal ~ Kotlin Coroutine と ThreadLocal を安全につなぎこむ - 株式会社ヘンリー エンジニアブログ
                                                                              • Android でのコルーチンに関するベスト プラクティス  |  Kotlin  |  Android Developers

                                                                                AI エクスペリエンスの構築 Gemini API などを使用して、AI 搭載の Android アプリを構築します。

                                                                                  Android でのコルーチンに関するベスト プラクティス  |  Kotlin  |  Android Developers
                                                                                • GitHub - piscinajs/piscina: A fast, efficient Node.js Worker Thread Pool implementation

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    GitHub - piscinajs/piscina: A fast, efficient Node.js Worker Thread Pool implementation

                                                                                  新着記事