並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 139 件 / 139件

新着順 人気順

multithreadの検索結果121 - 139 件 / 139件

  • 並列処理でActiveRecordの処理時間を短縮する - patorashのブログ

    ここ最近は並列化による処理速度アップを色々試しています。 Railsプロジェクトのデータに少々不備があることに気づいたので、それを修正するために該当データを抽出しようと思って雑にループを回したら、データ量が多いせいか、全然終了しませんでした。業を煮やした私は、これも並列化してしまおう!と思って並列化の情報を集めることに。 Rubyでの並列処理は、parallelというgemを使うと並列処理がすごく簡単にできました。 github.com parallelのいいところ parallelのいいところは、 並列処理したい対象の配列データを渡すだけでいい map, each, any?, all? などに対応している マルチプロセス、マルチスレッドの両方に対応している というところでしょうか。 簡単な使い方の例 Parallelに対して、配列を渡したら、自動的にCPUの数だけプロセスをフォークして

      並列処理でActiveRecordの処理時間を短縮する - patorashのブログ
    • ZIO | ZIO

      Type-safe, composable asynchronous and concurrent programming for Scala

        ZIO | ZIO
      • マルチコアのプログラミングとデバッグに関する課題克服に必要なものとは?

        本稿では、各種マルチコアプロセッサを紹介し、それらのデバイスが広く使われるようになった理由を含む、マルチコアプロセッシングのさまざまな側面について論じます。また、1個のチップ上に複数のコアを搭載することによって生じる問題に着目し、最新のマルチコア認識型デバッガを使用することで、それらの複雑なタスクにいかに容易に対応できるかを示します。 システム性能 組込みコンピューティングシステムの性能を向上させるには、巧妙なコンパイラアルゴリズムを使用したり、効率的なハードウェアソリューションを実現するなど、多岐にわたる方法があります。例えば、コンパイラの最適化は、読みやすく理解しやすい高水準な言語で書かれたコードから最も効率的な命令スケジューリングを得る上で非常に重要です。また、システムはプロジェクトにおいて、並列処理の利点を生かして同時に複数の処理を行うことができます。もちろん、クロック周波数のスケ

          マルチコアのプログラミングとデバッグに関する課題克服に必要なものとは?
        • USB Type-Cによる並列バッテリ充電、この手法は消費者に何をもたらすのか?

          はじめに USB Type-Cでは、旧世代のUSBと比べてはるかに高い柔軟性が得られます。そのため、USB Type-C(以下、USB-C)に対応するポートは、民生用機器において標準的に使用されるようになりました。そうした機器では、より多くの電力に対応しつつ、より長いバッテリ寿命を実現することが強く求められています。つまり、より高い電力レベルで充電できるようにしなければならないということです。本稿では、まず並列に接続したバッテリを充電(以下、並列バッテリ充電)するためのアーキテクチャについて説明します。その基本とユース・ケースについて押さえた上で、USB-Cを利用して充電を行う方法と得られる効果について解説します。更に、USB-Cを利用した並列バッテリ充電が民生機器の市場にもたらすメリットとデメリットについてまとめます。 並列バッテリ充電とは何なのか? バッテリ管理(バッテリ・マネージメン

            USB Type-Cによる並列バッテリ充電、この手法は消費者に何をもたらすのか?
          • Scrapyの複数Spiderを同時に実行する3つのパターン | OUTPUTおじさん

            はじめに Scrapyで作ったプロジェクトに複数のSpiderを実装し、一回の実行コマンドで複数のSpiderを同時に動かすための方法を調べてみました! この記事では以下の3パターンの実行方法について解説しています。 パターン1 : 複数のSpiderを並列に実行 パターン2 : 複数のSpiderを順番に実行 パターン3 : パターン1とパターン2の組み合わせ 実施環境 # Mac OS $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.2 BuildVersion: 18C54 $ python3 --version Python 3.7.0 # Scrapyのバージョン Scrapy==1.5.1 解説 動作を確認するために、簡単なScrapyプロジェクトを作成してみました。 githubへアップロードしているので、確認してみ

              Scrapyの複数Spiderを同時に実行する3つのパターン | OUTPUTおじさん
            • 【Unity】【UniTask】マルチスレッドとしてのTaskからUniTaskを眺める - LIGHT11

              Taskのマルチスレッドを実現するための機能という側面からUniTaskについて考えてみます。 はじめに SynchronizationContextとは? TaskAwaiterとTaskのスレッド管理 UniTaskはSynchronizationContextを使わない UniTaskでマルチスレッド 参考 Unity2020.1.10 UniTask 2.0.37 はじめに UniTaskはUnityにおいてTaskの代わりに使えるように作られたライブラリで、処理効率に優れています。 github.com Taskの代わりといいましたが、Taskの役割には「非同期処理」と「マルチスレッド」という二つの側面があります。 そしてこのUniTaskはどちらかというとこのうちの非同期処理の方を代替するためのものとのことです。 UniTaskはどちらかというとJavaScript的(シングル

                【Unity】【UniTask】マルチスレッドとしてのTaskからUniTaskを眺める - LIGHT11
              • CHAGE | IIJ Engineers Blog

                並列処理管理ライブラリ task を含む、l4goの公開 こんにちは、くまさかです。 今回は、Go言語開発を支えるライブラリを公開しましたので、そちらの紹介記事です。 ちなみに今回の記事は、どうしてもGo言語寄りな話が少し登場します。 Go言語に関する説明は… くまさか 2022年02月21日 月曜日 “CHAGE” の大切な要素 こんにちは、CHAGE 開発メンバーの くまさか です。 今回は 5つ目の記事で、CHAGE 紹介シリーズ最後の記事です。 今まで 4つの記事にわたり、CHAGE や ASKS、 連携させる MPPP… くまさか 2020年02月07日 金曜日

                  CHAGE | IIJ Engineers Blog
                • Python の高速化 - MicroAd Developers Blog

                  はじめに 機械学習エンジニアの大庭です。普段はマイクロアドが提供する広告配信プラットフォーム UNIVERSE Ads に接続する機械学習 API の研究開発をしています。 マイクロアドでは、機械学習モデルの学習側との連携が容易なこととメンテナンス性を重視して Python で機械学習 API を実装しています。Python は使いやすい反面、基本文法は速いとは言えない言語です。そのため、実行時間制約の厳しい Real Time Bidding (RTB) のなかで使うには高速化を意識しておく必要があります。今回は様々ある Python の高速化手法の理解と整理のため記事にしました。 個人的にですが、Python の高速化は以下の手順で行っていくのがいいと思っています。この記事では、この手順毎に便利なツールやライブラリをまとめました。 ボトルネックの特定 計算量(オーダー)を減らす コード

                    Python の高速化 - MicroAd Developers Blog
                  • 【Python】joblibを用いて簡単に『並列処理』を行う方法 - なろう分析記録

                    今回はPythonのjoblibパッケージを用いて手軽に並列処理を行う方法をご紹介したいと思います。 joblib 『Joblib』とは Joblibパッケージはデータの外部保存や並列処理・並行処理などを簡単に行うために用いるパッケージです。 現在市販されているPCのCUPはマルチコア・マルチスレッドを機能を持つものが一般的となっていますが、デフォルトのPythonではそのうちの1スレッドしか処理に用いられないので、大抵の場合リソースを持て余すことになります。 そこでJoblibを用いた並列処理です。 並列処理を行うことでCUPのリソースをフル活用し、同時に複数の処理を走らせることが出来る様にできます。 Joblibのイメージ joblibの処理の流れとしては『あるリスト』を『ある関数』に送り、最終的に「処理結果のリスト」を得るといった感じです。 イメージ 処理の内容によっては途中で早い・

                      【Python】joblibを用いて簡単に『並列処理』を行う方法 - なろう分析記録
                    • マルチスレッド :: やり直しJava

                      スレッドの現在の状態は ThreadクラスのgetState()メソッドで確認することができます。 スレッド間通信と同期スレッド間通信スレッド間通信と言うと 大袈裟な感じもしてしまいますが、スレッド間でデータをやり取りしたり 待ち合わせを行うことを指します。スレッド間通信は共有メモリを介して行います。共有メモリとして利用できるのは ヒープ領域に置かれたインスタンスやクラスフィールド等です。具体的には次のような方法でスレッド間通信を行うことができます。 クラスフィールドを介してスレッド間通信を行う。クラスのシングルトンオブジェクトを介してスレッド間通信を行う。共有するオブジェクトの参照を それぞれのスレッドで持ち合い、共有オブジェクトを通してスレッド間通信を行う。並列処理を行う場合、スレッド間通信が必要なければ シングルスレッドの場合と変わらないので 難しいことは何もありません。しかし 大抵

                      • Polkadot: Web3 Interoperability | Decentralized Blockchain

                        Polkadot enables cross-blockchain transfers of any type of data or asset, not just tokens. Connecting to Polkadot gives you the ability to interoperate with a wide variety of blockchains in the Polkadot network. Polkadot provides unprecedented economic scalability by enabling a common set of validators to secure multiple blockchains. Polkadot provides transactional scalability by spreading transac

                          Polkadot: Web3 Interoperability | Decentralized Blockchain
                        • ミューテックスとアトミック処理について

                          主にアトミック処理に関する質問です。 いくつか不明な点があります。 アトミック処理とミューテックスの違いについて確認しておきます。 mutex と atomic の違いは何か、どちらが良いか アトミック操作 アトミック操作の長所は、ロックに比べて比較的処理が速く、デッドロックやコンボイなどを回避できる点にあります。 短所は、限られた操作しか行うことができず、より複雑な操作を効率良く総合的に扱うには不十分なことです。 次に、ロックフリーについて・・・ C++ストラウストラップ氏の本の中では以下のようにあります。 ロックフリープログラミングは明示的なロックを使わずに並行プログラムを開発するためのの一連の技法だ。 明示的なロックの代わりに使うのが、小規模オブジェクトに対するデータ競合を防ぐための(ハードウェアが直接サポートする)基礎的な演算である。データ競合が発生しない基礎的な演算は、一般的にア

                            ミューテックスとアトミック処理について
                          • C++ 高速化 OpenMP

                            top C++ 高速化 OpenMP 2018-07-21 - 2018-07-25 (update) mode save 高速化の解説一覧:[link:高速化] 処理を分担し並列計算させることで,時間のかかる処理も高速化できる場合があります.処理を並列化させたい場合,当然ながらコード上に並列化のための記述を加える必要があるのですが,OpenMPではシンプルな記述のみで並列化を実現できます. *OpenMP とは 並列化を行うための拡張言語です.CPUによる並列化を実行できます.{{small:GPUによる並列化は含みません.}} 対応言語:C/C++,Fortran 対応コンパイラ:gcc, Clang,Microsoft Visual C++,Intel Compiler(C++/Fortran) OpenMPの利用方法については,下記の資料が参考になります. {{small:[1]R

                            • 【Ruby】Thread(スレッド)を理解する - Qiita

                              Thread(スレッド)とは? Thread(スレッド)とはプログラムの一連の処理のまとまりのことです。 複数の処理の流れ(スレッド)を持つプログラムをマルチスレッドのプログラムと呼び、複数の処理を並行して実行させるプログラミングのことを並行(concurrent)プログラミングと呼びます。 RubyのThreadクラスはこの並行(concurrent)プログラミングを実現するために使用されます。 Rubyでマルチスレッドを作成する。 プログラム開始時に生成されるスレッドはメインスレッド、現在実行中のスレッドはカレントスレッドと呼ばれます。 RubyではThread#mainを用いる事でメインスレッドを確認できます。 また、Thread#listでプログラム上に存在するスレッドが配列で表示されます。 p Thread.main #=> #<Thread:0x00007f9600882f00

                                【Ruby】Thread(スレッド)を理解する - Qiita
                              • 【C#】マルチスレッドプログラミングとは?メリット・デメリットを比較して効果を検証する - LIGHT11

                                マルチスレッドプログラミングの概要と、そのメリット・デメリットについて簡単にまとめます。 マルチスレッドプログラミングとは? 効果1 処理時間が短縮される 効果2 画面のフリーズを防ぐ マルチスレッドで処理してみる 効果があるのはあくまでCPUの処理 参考 関連 Unity2018.3.9 (C#の記事ですがUnityを使って動作確認しています) マルチスレッドプログラミングとは? まずマルチスレッドでないプログラムでは、1つのCPUコアで処理を先頭から順番に行っていきます。 CPUコアを一つしか持たないシングルコアのCPUではもちろん、 マルチコアのCPUにであっても一つのCPUだけを使って処理を行います。並列では行いません。 ここでマルチスレッドのプログラムを書くと、マルチコアCPUではスレッド毎に別のCPUコアで別の処理を行います。 シングルコアのCPUでは、一つのCPUコアで処理を

                                  【C#】マルチスレッドプログラミングとは?メリット・デメリットを比較して効果を検証する - LIGHT11
                                • 茨城の企業法務に強い弁護士|長瀬総合法律事務所(茨城県弁護士会所属)

                                  質問 当社でも今後は少なくとも重要な契約については契約書を作成していこうと思いますが、契約書に度々出てくる「又は」「若しくは」ですとか、「及び」「並びに」といった、細かい用語の使い分け方や読み方がよくわかりません。 「又は」や「若しくは」というのはどちらも同じ意味で、書き手の気分に応じて使い分けても特に問題ないですよね? それとも、これらの用語の使い分けには何か意味があるのでしょうか? 回答 契約書において、法律上、「必ずこの用語・用語ルールに従わなければならない」といった決まりはありません。 もっとも、契約書の作成においては、表現のわかりやすさはもちろん、表現の正確さが最も重要な要素の一つとされるところ、契約当事者のみならず、国民全員を規律する立法の世界においては契約書の場合以上に表現の正確さが重要視されていると言えます。 そして、法令用語においては、読み手によって文書の読み方が変わるこ

                                    茨城の企業法務に強い弁護士|長瀬総合法律事務所(茨城県弁護士会所属)
                                  • PaSh: Light-touch Data-Parallel Shell Scripting

                                    Overview PaSh aims at the correct and automated parallelization of POSIX shell scripts. Broadly, PaSh includes three components: (1) a compiler that, given as input a POSIX shell script, emits a POSIX shell script that includes explicit data-parallel fragments for which PaSh has deemed such parallelization semantics-preserving, (2) a set of PaSh-related runtime primitives for supporting the execut

                                    • GitHub - StanfordSNR/gg: The Stanford Builder

                                      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 - StanfordSNR/gg: The Stanford Builder
                                      • Pythonの並行処理を理解したい [マルチスレッド編]

                                        Python の並行処理についてまとめてみました。 並行処理とは? 並行処理(Concurrent)とは、一定の時間内に複数の処理を同時に進行することを指す用語です。 例えば、コーディング中にアプリのビルドを実行しながら Twitter を見るのもコーディングと Twitter の並行処理です。 並行処理と並列処理の違い 並行処理と類似する処理として、並列処理(Parallel)があります。 2 つの違いを簡単にまとめます。 並行処理(Concurrent) 並行処理は瞬間を切り取ったときには 1 つの処理をしているのですが、ある一定の時間でみると処理を切り替えながら複数の処理をこなしているものを指します。 Python では今から説明するマルチスレッド(ThreadPoolExecutor)とイベントループ(asyncio)がこれに当たります。 並行処理での高速化は複数 API のアクセ

                                          Pythonの並行処理を理解したい [マルチスレッド編]

                                        新着記事