Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

非同期に関するkimutanskのブックマーク (6)

  • 非同期処理の基礎

    4. ThreadよりもTask for (int i = 0; i < num; i++) { var t = new Thread(_ => b[i] = F(a[i]) ); } for (int i = 0; i < num; i++) { Task.Run(() => b[i] = F(a[i]) ); } ×悪い例 ○良い(まだマシ※な)例 データの数だけ スレッド作成 Threadでなく Task利用 ※ この場合、ParallelクラスやParallel.Enumerableクラスが使いやすい 5. ThreadよりもTask for (int i = 0; i < num; i++) { var t = new Thread(_ => b[i] = F(a[i]) ); } for (int i = 0; i < num; i++) { Task.Run(() => b[

    非同期処理の基礎
    kimutansk
    kimutansk 2014/05/13
    スレッドは高コスト/IOBoundな処理にスレッドを割り当てるな/ロックやsynchronizedは特権モード必要なのでコスト高い、と。言語に依らず重要なポイントですね。
  • 非同期ストリーム処理の標準化を目指す "Reactive Streams" とは - Okapies' Archive

    TL でこんなのが流れてたので少し調べてみた。 Learn about the Reactive Streams initiative & how we're supporting a standard for asynch stream processing on the JVM http://t.co/5wUF0PjTBe— Twitter Engineering (@TwitterEng) 2014, 4月 17 Reactive Streams って? Reactive Streams ”JVM 上でのノンブロッキングなバックプレッシャーを持つ非同期ストリーム処理の標準の提案”(公式サイトより)。 ざっくり言うと、既にある JVM ベースの様々な非同期ストリーム処理フレームワーク実装の共通部分を括りだして API 化、SPI 化しようというもの。最終的には JSR での標準化を目指

    非同期ストリーム処理の標準化を目指す "Reactive Streams" とは - Okapies' Archive
    kimutansk
    kimutansk 2014/04/21
    バックプレッシャーの必要性はStormで何度も溢れさせて思い知ったクチです。見た感じ、Stormもモデルとしては乗りますが・・言語的な壁かもしれませんねぇ
  • LinkedIn: Promiseでデータフローコントロールを改善 - ワザノバ | wazanova

    LinkedInが同社のエンジニアブログで、Node.jsのフローコントロールの取組みについて紹介しています。 (原文には一連の説明用のコードが掲載されているのでそちらも参照ください。) LinkedInのiPadアプリでは、node.jsサーバで、複数のバックエンドサービスからのデータをまとめています。これまでは、そのデータフローをコントロールするのにAsync.jsとStepを使っていたが、新しい機能の追加に際してはJavaScriptのPromiseを利用してQでの実装にトライしてます。Promiseが複雑なI/O依存パターンを扱うのに適しているのと、Promise/A+の仕様が特にエラーをハンドリングするのが得意なことが採用の理由。 Why do we need flow control patterns in Node.js? 非同期のコールバックベースのコードは重層構造になる傾

    kimutansk
    kimutansk 2013/12/10
    JavaScript でスマートに非同期なコードを書くための Promise パターンで実装と
  • Pythonで複数プロセスたちあげて結果を非同期で処理する - Study08.net 対シンバシ殲滅用人型機動兵器

    python で複数プロセス立ち上げてそれぞれのコマンドの結果を非同期に処理するのどうやったらいいんだろ— ねじめ (@drillbits) October 3, 2013 ていうのを見かけたので殺伐とした心を癒すためにやってみる心。 やりたい事 Pythonスクリプトから複数外部コマンドを実行 実行結果を非同期に処理する 割とお手軽にやりたい。 よしググる(クズやろう) asynchronous - How can I run an external command asynchronously from Python? - Stack Overflow あった。 試してみる それぞれ 1秒, 2秒, 3秒まってprintするようなスクリプトを3つ用意 # こんな感じ from time import sleep sleep(1) print "echo1" これを参考のまんま下記のよう

    Pythonで複数プロセスたちあげて結果を非同期で処理する - Study08.net 対シンバシ殲滅用人型機動兵器
    kimutansk
    kimutansk 2013/10/05
    意外にこういうのは簡単に出来るわけですか。参考になります。
  • WalB v1.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ

    更新情報 2017年6月現在、WalB のプロジェクトページはhttps://walb-linux.github.io/です。 こんにちは.サイボウズ・ラボの星野です. 今日は,効率的なバックアップと非同期レプリケーションを目的とした Linux カーネルドライバ WalB についての簡単な紹介と,そのバージョン 1.0 のリリース告知をさせて頂きます. WalB って何? WalB は「ワルビー」と発音します.名前の由来は Block-level WAL です.WAL は Write-Ahead Logging (ログ先行書き込み) のことで,データベースの一貫性制御等に用いられます. WalB を使うと,オンライン状態のブロックデバイスにおいて,アプリケーションやファイルシステムによるデータ書き込みによって生じる差分データを,ブロックデバイスをフルスキャンすることなく効率的に取得出来る

    WalB v1.0 リリース - Cybozu Inside Out | サイボウズエンジニアのブログ
    kimutansk
    kimutansk 2013/05/29
    へぇ、これは良さそうですねぇ。
  • node.js と thread hog の話(3)

    [前回までの話へのリンク] ・node.js と thread hog の話(1) ・node.js と thread hog の話(2) では、なぜ今頃になって HTTP Server の c10k 問題(もしくは、thread hog 問題)が顕在化したのだろう。 当時(90年代の終わり頃)と比べて、もっとも大きく変わったのはCPUの性能である。クロック数は、数百MHzから数GHzへと一桁増えたし、マルチコア化もしている。CPU 性能だけ見れば、当時の数十倍の能力が出てしかるべきである。 しかし、実際の人生はそう簡単ではない。サーバーのパフォーマンスはCPU性能だけが決めるわけではないからだ。そこで、ボトルネックの一つとして注目されはじめたのが、thread の数なのである。 前回述べた様に、thread 一つあたり 2MB~8MB のスタック領域を仮想メモリ空間に確保しなければならな

    kimutansk
    kimutansk 2012/10/21
    node.jsのモデルはわかっていましたが、『何故早いか?』についてはわかっていなかったので勉強になりました。
  • 1