タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

並列処理とrustに関するdelegateのブックマーク (2)

  • Rustによる並列処理でDynamoDBへのデータ投入を20倍高速化してみた

    はじめに 言語として高速だと謳われているRust。そのRustを使用してDynamoDBへのデータ登録処理を直列処理と複数の並列アルゴリズム処理で速度比較してみました。 DynamoDB DynamoDBは公式で以下のように謳われています。 Amazon DynamoDB の応答時間は 1 桁ミリ秒で、最も要求の厳しいアプリケーションでも一貫してこのパフォーマンスを発揮できます。例を挙げると、2022 年の Amazon プライムデーに Amazon DynamoDB は、1 桁ミリ秒のパフォーマンスで、数兆回の API コールに対して 1 秒あたり 1 億 520 万件のリクエストを確実に処理しました。 上記だけみると爆速のようにも思われますが、読み込みと書き込み双方に以下の制限があります。 BatchWriteItemのデータ投入は1回で25リクエストまで、Queryのデータ取得は1回

    Rustによる並列処理でDynamoDBへのデータ投入を20倍高速化してみた
  • Rust はどのようにして安全な並列処理を提供するのか - Qiita

    はじめに 並列処理を安全かつ効率的に扱うことは、Rustの主な目標のひとつです。 並列処理といえば難しく不具合の起こりやすい危険なものというイメージがありますが、Rust はどのようにして安全な並列処理を提供しているのでしょうか。 (なお、ここでの安全とはデータ競合が発生しないことを指しています) 概要 Rust がどうやって安全な並列処理を提供しているのか、先に概要をまとめてみます。 Rust はスレッドをつかってコードを並列で実行します 所有権の制約によりスレッド間でのデータの共有が行われないことが保証されるためデータ競合が起こり得ず安全です スレッド同士のデータの共有をチャンネルというメッセージの送受信器を経由して行う場合、スレッド内のデータはそのスレッドからしか変更されることがないため安全です スレッド間で可変なオブジェクトを共有する場合、データ競合が発生しない仕組みを利用している

    Rust はどのようにして安全な並列処理を提供するのか - Qiita
  • 1