タグ

asyncに関するrin51のブックマーク (17)

  • asyncとawaitの由来を調べたところ,asyncとawaitのaは関係なかったことがわかりました,英語はクソ - ncaq

    asyncとawaitの由来を調べたところ, asyncとawaitのaは関係なかったことがわかりました, 英語はクソ 背景 「awaitってなんだよ」 という気持ちがある日寝てる私に降ってきました. asyncの由来 asyncはsynchronize(同期する), synchronization(同期すること)を省略したsyncに, ギリシャ語由来の接頭辞a-をくっつけて, async(同期しない)となります. また、英語の〈a-〉という接頭辞はいろいろな意味がありますが、その中の一つに、ギリシャ語の〈a-〉(母音またはhの前ではan-)に由来して、「無」「ない」という否定を表すものがあります。 第29回 べることと話すこと (2) - 語源でゴキゲン prefix meaning "not, without," from Greek Online Etymology Diction

    asyncとawaitの由来を調べたところ,asyncとawaitのaは関係なかったことがわかりました,英語はクソ - ncaq
  • Async SQLAlchemy with FastAPI

    SQLAlchemy 1.4 Before we look at the example, there are some important information about the new SQLAlchemy 1.4 release: SQLAlchemy 1.4 presents changes that will be finalized in SQLAlchemy 2.0. SQLAlchemy unifies Core and ORM APIs for consistency. Both Core and ORM now support async with asyncio, but this feature is not production ready yet. It also comes with some limitations on what can we do w

    Async SQLAlchemy with FastAPI
    rin51
    rin51 2021/05/14
    SQLAlchemy1.4でasyncが入ったらしい(ただしプロダクトにはお勧めしないという)
  • async/await を完全に理解する

    この記事ではasync/awaitについて完全に理解する[1]ことを目標に説明します。 完全に理解するために一部厳密には正確ではない表現をしますがご了承ください。 (明らかに事実と異なる内容が含まれている場合はご指摘いただけると助かります) ちなみにC#の文法説明になりますが、他の言語でも基的な考え方は同じはずです。例えばJavaScriptの場合はTask型をPromise型に置き換えていい感じに読んでください。 非同期処理とTask型 async/awaitを完全に理解するためには、非同期処理の扱い方について完全に理解する必要があります。 そもそも非同期処理って何?という方はググってください。同期処理と非同期処理の違いについては完全に理解した前提で説明します。 非同期処理は複数のタスクを同時並行に処理するためのものですが、実際にコードを書いていると非同期で処理しているタスクが終わるま

    async/await を完全に理解する
    rin51
    rin51 2021/03/30
    完全に理解した
  • コルーチンは怖くない

    コルーチンの基的なアイディアを正確さより雰囲気重視で解説してみました。 一応コルーチンやイベントループによる非同期処理に関しては概念はPythonに限った話ではないのでNode.jsなどでも同じ理解でいいはず。。。 下記のサンプルを全部動かすにはPython 3.6以降を使ってください。(ローカルにない場合はdocker run --rm -it python:3.7とかでもOK) コルーチンとは サブルーチンの上位(?)概念です。 サブルーチン(いわゆる関数)はエントリポイントが一つで、一度呼び出したら値が返されるまで一気に動きます。 これに対しコルーチンはエントリポイントが複数箇所あるため、一度呼び出されても中断でき、その場所からまた再開できるというものです。 async/awaitとネイティブコルーチン Python 3.5でasync/await構文とともに導入されたネイティブコ

    コルーチンは怖くない
  • async.el : Emacs Lispで本物の並列処理ができた…だと!?その実態に迫る

    async.el はEmacs Lispで 並列処理 を行うライブラリです。 作者はEmacsの世界的権威 John Wiegley 氏。 eshellやuse-package.el 、bind-key.el など 多くのEmacs Lispをリリースしています。 Emacs Lispでは並列処理が弱点と言われていますし、 できないと思っている人もいるようですが、 実はある方法を使えば可能なのです… 確かにEmacs Lispという言語自体では 並列処理の機能はないのですが、 プロセス を使うという抜け道があります。 M-x shellでシェルを動かしながら Emacsを動作させているのと同じです。 async.elは新しいEmacsプロセスでS式を評価したり、 S式を返す外部プログラムを起動したりすることで Emacs Lispで並列実行を行います。 deferred.el でも並列処理

    async.el : Emacs Lispで本物の並列処理ができた…だと!?その実態に迫る
  • ソケットAPIが遅すぎる?新たなio_uringを試す!

    新しいAPIが作られるたびに、私たちは、古いAPIを置き換えるだけで高速化という夢をみます。何度夢破れても、高速なAPIが追加されたと聞けば、試さずにはいられませんよね! 今回は、Linuxカーネル5.1で追加されたio_uringを使って、Rustのasyncランタイムを実装し、gRPCサーバのベンチマークを実行してみました。 io_uringとはio_uringは、ファイルシステムとネットワークの非同期I/Oのために開発されました。同期よりも非同期のほうがおしゃれ、そういう雰囲気ありますよね!クラウドネイティブも、非同期にAPIを介して、なんかやってるやつですよね。 io_uringのインターフェイスは、高い性能を目指し、1)アプリケーションとカーネル間でのメモリコピーを避ける、2)複数のI/O要求を一度にカーネルに伝えることができる、という工夫がされています。 下図のように、アプリケ

    ソケットAPIが遅すぎる?新たなio_uringを試す!
  • A non-blocking read on a subprocess.PIPE in Python

    I'm using the subprocess module to start a subprocess and connect to its output stream (standard output). I want to be able to execute non-blocking reads on its standard output. Is there a way to make .readline non-blocking or to check if there is data on the stream before I invoke .readline? I'd like this to be portable or at least work under Windows and Linux. Here is how I do it for now (it's b

    A non-blocking read on a subprocess.PIPE in Python
    rin51
    rin51 2020/11/05
    asyncでsubprocess
  • asyncio — Asynchronous I/O

    import asyncio async def main(): print('Hello ...') await asyncio.sleep(1) print('... World!') asyncio.run(main()) asyncio is a library to write concurrent code using the async/await syntax. asyncio is used as a foundation for multiple Python asynchronous frameworks that provide high-performance network and web-servers, database connection libraries, distributed task queues, etc. asyncio is often

    asyncio — Asynchronous I/O
  • 非同期処理の種類

    概要 「非同期処理」と言っても、いくつかのタイプの用途があって、それぞれ書き方や使うクラス ライブラリが異なります。 大まかに言うと、以下のような用途があります。 バックグラウンド処理: 負荷の高い計算や、I/O待ちなどによって、CPUやスレッド資源を保持し続けないために、別スレッドでの計算やI/O待ちを行います。 並列計算: マルチコアCPUの性能を最大限引き出すために、同じ計算を複数のコアで同時に実行します。 データ並列: 同じ処理を異なるデータに対して繰り返し行います。 タスク並列: 異なる処理が独立して動いていて、その間で非同期にデータのやり取り(非同期データフロー)を行います。 C# 5.0 で導入された非同期メソッド(「非同期処理」参照)は、前者のバックグラウンド処理を簡単化するものです。 一方、データ並列には.NET Framework 4 で導入された Parallel ク

    非同期処理の種類
  • .NET Framework4.5 での非同期I/O処理 事始め:Gushwell's Dev Notes

    この記事は、C# Advent Calender 2012 http://atnd.org/events/33905 への参加記事です。 今年もC# Advent Calender が開始されました。 なかなか書くネタが見つからず、参加しようかどうか悩んでいるうちに、気が付いたら、空いている日が、 初日の 12/1 と 最終日の 12/25 の2日だけになってました。さすがに最終日はプレッシャーがかかると 思ったので、初日である 12/1 にエントリーさせてもらいました。 さて、お題は、「.NET Framework4.5 での非同期I/O処理 事始め」です。 既に多くの方がブログで async, awaitの記事を書いているので、2番煎じ、3番煎じの感は 否めませんが、まあ、このC# Advent Calenderは、ゆるいイベントということなので、大目 に見てください(^^; さて、こ

  • C# Asynchronous Programming - Async and Await

  • async/await不要論

    並列/並行基礎勉強会での発表資料です。 補足エントリもどうぞ。 http://bleis-tift.hatenablog.com/entry/asyncawaitdis

    async/await不要論
  • An other world awaits you

    C# 5.0/VB 11で導入された async/await と、 その背後にある実行インフラ await 演算子の展開結果 await 演算子では解決できなその他の非同期 などについての話。

    An other world awaits you
  • async/awaitと同時実行制御

    C# 5.0のasync/awaitを使うと、多くの場面ではシングル スレッド的な動作になるし、多くの場面ではlock不要(結果的に、デッドロックが起こりようなくなる)になったりします。 ただし、「多くの場面で」。「必ず」ではないのがはまりどころ。いくつかの場面では、同時実行制御が必要です(普通にマルチスレッドの平行実行になるので、同時に同じデータにアクセスされる可能性を考慮しないとバグります)。 前提知識 いくつか、C# 5.0世代の非同期処理についての前提知識は、以下のスライド(先月末の.NETラボでの発表)を参考にしてください。 5~12ページ: async/awaitの書き方 17~22ページ: スレッドとそのコスト 24~26ページ: スレッド プール 29~32ページ: I/O完了待ちと非同期API 36~40ページ: UIスレッドとディスパッチャー 41~45ページ: 同期コ

    async/awaitと同時実行制御
  • C#次世代非同期処理概観 - Task vs Reactive Extensions

    1. C#次世代非同期処理概観 Task vs Reactive Extensions 2012/3/10 #riaarch Yoshifumi Kawai @neuecc 2. Profile  Name => Yoshifumi Kawai仕事は近頃はASP.NETで、あまりRIAじゃなかったり  まあ、HTML5もRIAですし!  Twitter => @neuecc  HN => neuecc  読むときは“のいえ”と読ませてます  サイトのドメイン(特に意味はない)を繋いだだけ で、識別子になればそれだけでいいと思って発音考 えてなかったので割とアレ  Microsoft MVP for Visual C#(2011/4-)

    C#次世代非同期処理概観 - Task vs Reactive Extensions
  • .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT

    連載目次 「エンド・ユーザーは、0.5秒のフリーズでストレスを感じ、3秒のフリーズはバグだと思う」。昔、冗談半分に言ってみた言葉だが、回りの反応を見るに、割とみな思っていることらしい。 特にモバイル端末向けのOSでは、応答性の悪いアプリケーションはOSによって強制終了されたり、マーケットプレイスでの審査に落ちたりする。フリーズしないアプリケーション作りがますます重要になっている。 そこで、稿では、フリーズしないアプリケーション作りに必要となる「非同期処理」*1について説明していく。 *1 時間のかかるAPIに対して、そもそも非同期版しか提供しないケースが増えてきている。Windows 8の新しいWindows API(WinRT)では、50ミリ秒以上かかるAPIを、すべて非同期なメソッドとして提供するそうだ。 ■非同期処理の今までとこれから ネットワークI/Oのように待ち時間の発生する処

    .NET開発者のための非同期入門 フリーズしないアプリケーションの作り方 - @IT
  • 1