Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマーク
  • テクノロジー
  • 徐々に高度になるリングバッファの話 - Software Transactional Memo
  • Twitterでシェア
  • Facebookでシェア

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできますコメント表示の設定

ブックマークしました

ここにツイート内容が記載されますhttps://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

552usersがブックマークコメント35

    ガイドラインをご確認の上、良識あるコメントにご協力ください

    0/0
    入力したタグを追加

    現在プライベートモードです設定を変更する

    おすすめタグタグについて

      よく使うタグ

        徐々に高度になるリングバッファの話 - Software Transactional Memo

        ガイドラインをご確認の上、良識あるコメントにご協力ください

        0/0
        入力したタグを追加

        現在プライベートモードです設定を変更する

        おすすめタグタグについて

          よく使うタグ

            はてなブックマーク

            はてなブックマークで
            関心をシェアしよう

            みんなの興味と感想が集まることで
            新しい発見や、深堀りがもっと楽しく

            ユーザー登録

            アカウントをお持ちの方はログインページ

            記事へのコメント35

            • 注目コメント
            • 新着コメント
            t-tanaka
            複数スレッドから利用されるバッファ機構は,素人が実装すると高確率でバグるので,実務ではライブラリで提供されたものを使用するのをお勧め。もちろん学習用に自分で再実装するのはありだが。

              その他
              naoya2k
              たいていの人が「ロックなしwait-freeで実装する方法」でメモリバリアの必要性がわからないところ(そしてテストは通るが実戦では低確率でバグるというダメなコードを作ってしまう)、ちゃんと書かれていてよかった。

                その他
                tettekete37564
                いちいちモジュロ計算するのは効率悪く無いか?と思ったら、“buffer_.size()が2の冪乗である限りにおいて、-1した値は最大値以下全部のビットが立った状態になっているのでそれを” < なるほどね

                  その他
                  rryu
                  一見無駄な変数のコピーを使うようにするとマルチコアで実行する時に速くなるとか、知識がなかったらまるっきり謎なコードである。

                  その他
                  revert
                  面白いけど自分とは無関係みたいに思ってる人が多そうだけど、何気なく使ってるロガーライブラリの中ではこの手のテクニックが使われてるし、意外と身近な代物ではあるんだよね

                    その他
                    napsucks
                    多段キャッシュに支えられ超高速で疾走する全方位無双にも思える現代のCPUコアも、キャッシュラインを意識してプログラムしないとパフォーマンスが出ないことがあるのか

                      その他
                      chintaro3
                      「0に戻さずに単調に増やし続けた場合、整数がオーバーフローする危険は一応あるが、毎秒40億回dequeueに成功し続けてもオーバーフローするのは126年後とかである。」うへぇ、割り切った実装だなぁ

                        その他
                        PrivateIntMain
                        全くもってわからん領域がまた一つ増えた。職業プログラマなのになぁ。

                          その他
                          ken39arg
                          キャッシュラインまで意識できる自信はない

                            その他
                            rogertroutman
                            記事もブコメも何ひとつとして理解できないブクマがホッテントリのトップに位置していることに強い不安を覚えて60分間ずっと我慢していたアルコールにとうとう手が伸びてしまった

                              その他
                              Nilfs
                              あとでちゃんとやってみたいところ

                              その他
                              mattn
                              リングバッファの絵かっこいい

                                その他
                                mas-higa
                                "リングバッファのイメージ図" [これはひどい]

                                その他
                                igrep
                                "傍目には無駄な変数2つと無駄な判定と代入を足したようにしか見えないのにこのような高速化が得られる。マルチコアプログラミングの醍醐味である。"

                                その他
                                JUN_NETWORKS
                                CSの醍醐味って感じがしておもしれ〜

                                その他
                                yarumato
                                “リング状にバッファを置いてReadとWriteのインデックスがグルグルと回る構造。容量上限と引き換えに高速な読み書き速度を得る。メモリ確保行わないので性能高い。実装自体は情報系の大学生の演習レベルの難度”

                                  その他
                                  ken39arg
                                  ken39argキャッシュラインまで意識できる自信はない

                                    2023/07/31リンク

                                    その他
                                    kuhataku03
                                    ビジネスロジックの分離やシンプルなコードが崇拝される一方で、ハードウェアの環境/特性を活かしてプログラミングすると本来のロジックに関係のないコードを入れざる得ず、分離するのは難しい or 無理

                                      その他
                                      hirorinya
                                      へー学び

                                        その他
                                        y-kawaz
                                        良い。/最後の謎の絵は何か島本みを感じる。

                                          その他
                                          PrivateIntMain
                                          PrivateIntMain全くもってわからん領域がまた一つ増えた。職業プログラマなのになぁ。

                                            2023/07/30リンク

                                            その他
                                            XYXY
                                            なるほど…

                                              その他
                                              halfrack
                                              マルチスレッド

                                                その他
                                                andonut146
                                                「オーバーフローするのは126年後とかである」素晴らしい。しかし、複数がPush()・Pop()するのは一人、みたいなQueueしか今まで見たことないな…。

                                                  その他
                                                  UhoNiceGuy
                                                  現代的なCPUでもmod演算は時間がかかるのか//「どうせオーバーフローしないんだから0に巻き戻さなくていいよ」は勉強になった//キャッシュのラインとか凄い世界だ

                                                  その他
                                                  gurutakezawa
                                                  理解はできるんだけどそれでも126年後が本当に126年後なのかとか実際に来ることは無いのかとか不安になるのはジジィだからなのかなぁ…

                                                  その他
                                                  rryu
                                                  rryu一見無駄な変数のコピーを使うようにするとマルチコアで実行する時に速くなるとか、知識がなかったらまるっきり謎なコードである。

                                                  2023/07/30リンク

                                                  その他
                                                  nezuku
                                                  バッファのサイズを超えたらインデックスを0に戻して…はバグなく書ききるのは難しい、それならばインデックスを符号なし64ビット整数と。オーバーフローする心配の前にシステムが限界になるだろうと。

                                                    その他
                                                    tomei10
                                                    謎のイメージ図やめい

                                                      その他
                                                      rogertroutman
                                                      rogertroutman記事もブコメも何ひとつとして理解できないブクマがホッテントリのトップに位置していることに強い不安を覚えて60分間ずっと我慢していたアルコールにとうとう手が伸びてしまった

                                                        2023/07/30リンク

                                                        その他
                                                        chintaro3
                                                        chintaro3「0に戻さずに単調に増やし続けた場合、整数がオーバーフローする危険は一応あるが、毎秒40億回dequeueに成功し続けてもオーバーフローするのは126年後とかである。」うへぇ、割り切った実装だなぁ

                                                          2023/07/30リンク

                                                          その他
                                                          cocoasynn
                                                          勉強になる

                                                            その他
                                                            rasterson
                                                            16bit CPU時代にはインデックスはゼロに戻すものと教わったが、こういう高速化の割り切りもあるのですね。勉強になった。ところで、enque()の時はインデックスを進めてから値を書いた方が安全だと思う。セマフォ無いなら

                                                              その他
                                                              umai_bow
                                                              リングバッファすき

                                                                その他
                                                                t-tanaka
                                                                t-tanaka複数スレッドから利用されるバッファ機構は,素人が実装すると高確率でバグるので,実務ではライブラリで提供されたものを使用するのをお勧め。もちろん学習用に自分で再実装するのはありだが。

                                                                  2023/07/30リンク

                                                                  その他
                                                                  naoya2k
                                                                  naoya2kたいていの人が「ロックなしwait-freeで実装する方法」でメモリバリアの必要性がわからないところ(そしてテストは通るが実戦では低確率でバグるというダメなコードを作ってしまう)、ちゃんと書かれていてよかった。

                                                                    2023/07/30リンク

                                                                    その他
                                                                    revert
                                                                    revert面白いけど自分とは無関係みたいに思ってる人が多そうだけど、何気なく使ってるロガーライブラリの中ではこの手のテクニックが使われてるし、意外と身近な代物ではあるんだよね

                                                                      2023/07/30リンク

                                                                      その他
                                                                      tettekete37564
                                                                      tettekete37564いちいちモジュロ計算するのは効率悪く無いか?と思ったら、“buffer_.size()が2の冪乗である限りにおいて、-1した値は最大値以下全部のビットが立った状態になっているのでそれを” < なるほどね

                                                                        2023/07/30リンク

                                                                        その他
                                                                        tengo1985
                                                                        おもしろい

                                                                          その他
                                                                          ene0kcal
                                                                          マルチスレッドの事はいろいろあるんだなくらいの解像度で、まったく手を出しても深掘りもしてないので、ほーん!という感想だが興味深い。

                                                                          その他

                                                                          注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

                                                                          リンクを埋め込む

                                                                          以下のコードをコピーしてサイトに埋め込むことができます

                                                                          プレビュー
                                                                          アプリのスクリーンショット
                                                                          いまの話題をアプリでチェック!
                                                                          • バナー広告なし
                                                                          • ミュート機能あり
                                                                          • ダークモード搭載
                                                                          アプリをダウンロード

                                                                          関連記事

                                                                            usersに達しました!

                                                                            さんが1番目にブックマークした記事「徐々に高度になる...」が注目されています。

                                                                            気持ちをシェアしよう

                                                                            ツイートする

                                                                            徐々に高度になるリングバッファの話 - Software Transactional Memo

                                                                            リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ば...リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit

                                                                            ブックマークしたユーザー

                                                                            • ckwa2025/10/23ckwa
                                                                            • dhrname2024/10/18dhrname
                                                                            • yfnt2024/10/18yfnt
                                                                            • Nilfs2024/05/02Nilfs
                                                                            • Nnwww2024/04/13Nnwww
                                                                            • hbKOT2024/01/18hbKOT
                                                                            • Wacky2023/09/02Wacky
                                                                            • ikajigoku2023/08/29ikajigoku
                                                                            • spitzfreak2023/08/26spitzfreak
                                                                            • emonkak2023/08/07emonkak
                                                                            • hush_in2023/08/07hush_in
                                                                            • techtech05212023/08/05techtech0521
                                                                            • musaprg2023/08/05musaprg
                                                                            • Toge2023/08/04Toge
                                                                            • toitoitoi27182023/08/04toitoitoi2718
                                                                            • zetta19852023/08/04zetta1985
                                                                            • thaturn2023/08/04thaturn
                                                                            • ohakutsu2023/08/04ohakutsu
                                                                            すべてのユーザーの
                                                                            詳細を表示します

                                                                            ブックマークしたすべてのユーザー

                                                                            同じサイトの新着

                                                                            同じサイトの新着をもっと読む

                                                                            いま人気の記事

                                                                            いま人気の記事をもっと読む

                                                                            いま人気の記事 - テクノロジー

                                                                            いま人気の記事 - テクノロジーをもっと読む

                                                                            新着記事 - テクノロジー

                                                                            新着記事 - テクノロジーをもっと読む

                                                                            同時期にブックマークされた記事

                                                                            いま人気の記事 - 企業メディア

                                                                            企業メディアをもっと読む

                                                                            はてなブックマーク

                                                                            公式Twitter

                                                                            はてなのサービス

                                                                            • App Storeからダウンロード
                                                                            • Google Playで手に入れよう
                                                                            Copyright © 2005-2025Hatena. All Rights Reserved.
                                                                            設定を変更しましたx

                                                                            [8]ページ先頭

                                                                            ©2009-2025 Movatter.jp