人気記事
注目度の高い記事

NEWS FEED
今日の話題を、1分で追えるニュースまとめ
注目度の高い記事
ずん
asyncioつらいって騒いでるけど、Pythonごとやめればいいのでは?なのだ。
でぇじょうぶ博士
やれやれ...その発想は、風邪が治らないから死ねばいいと言ってるようなもんでやんす。
やきう
ワイ、async/await書くたびに発狂しとるわ。awaitの付け忘れでバグ祭りや。
ずん
えぇ...じゃあこのWoveってやつ使えば、ボクでも並列処理書けちゃうってことなのだ?
でぇじょうぶ博士
そうでやんす。まるで自転車に補助輪を付けるように、非同期処理の難しさをライブラリが吸収してくれるでやんす。
やきう
でも結局、裏でスレッドとかasyncio使ってんやろ?隠蔽しただけやんけ。
でぇじょうぶ博士
鋭いでやんすね。ただし、開発者が意識する必要がないというのは革命的でやんす。依存関係も自動解決してくれるでやんすし。
ずん
つまり...ボクが何も考えなくても勝手に並列化してくれるってことなのだ?最高じゃん!
やきう
お前、それ思考停止やぞ。どういう仕組みか理解せんと、障害起きたとき詰むで。
でぇじょうぶ博士
まあ、やきう君の言う通り、ブラックボックス化のリスクはあるでやんす。でも、asyncioの構文糖尿病を回避できるメリットは計り知れないでやんすよ。
ずん
構文糖尿病って...async defが伝染病みたいに広がるってことなのだ?怖すぎるのだ。
やきう
ワイのコードベース、もう全部asyncまみれやわ。同期コードと混ぜられへんから地獄や。
でぇじょうぶ博士
そこがWoveの真骨頂でやんす。DjangoのORMみたいな同期処理を、そのまま並列実行できるでやんすからね。まるで水と油を混ぜる魔法の乳化剤でやんす。
ずん
はかせ、それって既存のコードをほとんど書き換えずに高速化できるってこと?やばくね?
でぇじょうぶ博士
やんす。weave()ブロックと@w.doデコレータを付けるだけでやんすからね。おいらみたいな天才じゃなくても使えるでやんす。
やきう
でも新しいライブラリやろ?本番で使うの怖いわ。バグったら責任取れへんで。
でぇじょうぶ博士
慎重でやんすね。確かにバージョン1.0が出たばかりでやんすから、枯れてないのは事実でやんす。でも、Python 3.14のGILなし環境にも対応してるでやんすし、将来性は抜群でやんす。
ずん
GILなし...?ボク、GILが何なのかもわかってないのだ...。
やきう
お前、マジでプログラマか?グローバルインタプリタロックも知らんとか、終わっとるやんけ。
でぇじょうぶ博士
まあまあ、やきう君。GILというのは、Pythonのスレッドが真の並列実行をできなくする錠前みたいなもんでやんす。それが外れると、マルチコアの恩恵をフルに受けられるでやんす。
ずん
つまり...今まで遅かったPythonが速くなるってこと?これ来たんじゃね?
やきう
来てねぇよ。お前のコードが遅いのはアルゴリズムの問題やろが。
でぇじょうぶ博士
辛辣でやんすね...。でも、I/Oバウンドな処理に関しては、Woveは確実に効果があるでやんす。APIコールやDB問い合わせが多いWebアプリなんかは特に恩恵を受けるでやんす。
ずん
じゃあFlaskのアプリとかも速くなるのだ?ボク、レスポンス遅いって怒られてばっかなのだ...。
やきう
お前の書くコードがクソなだけやろ。N+1クエリとか平気で書いてそう。
でぇじょうぶ博士
まあ、根本的な設計の問題は解決できないでやんすけど、並列化できる部分を自動で見つけて処理してくれるのは大きいでやんすよ。detach=Trueでバックグラウンド実行もできるでやんすし。
ずん
バックグラウンド実行?それってつまり...仕事してるフリができるってことなのだ?
やきう
お前、そういう発想しかないんか。呆れるわ。
でぇじょうぶ博士
ずん君の発想は常に斜め下でやんすね...。でも、重い処理をバックグラウンドに回してレスポンスを即座に返せるのは、UX的には重要でやんす。
ずん
UX...ユーザー体験ってやつなのだ。知ってるのだ!ボク、できる子なのだ!
やきう
知ってるだけで実装できてへんやろ。典型的な口だけエンジニアやな。
でぇじょうぶ博士
まあまあ。Woveの話に戻すと、他のライブラリとの比較も興味深いでやんす。trioやcurioみたいな構造化並行より、手続き的で自然な流れを重視してるでやんす。
ずん
構造化並行...?もう頭パンクしそうなのだ。結局、Wove使えばいいってことでいいのだ?
やきう
思考停止すんなや。ケースバイケースやろ。大規模なワークフローならPrefectやAirflowの方が向いとるし。
でぇじょうぶ博士
その通りでやんす。Woveは即時実行型の軽量DAGでやんすから、複雑なスケジューリングには向いてないでやんす。でも、普通のWebアプリやMLパイプラインには十分でやんす。
ずん
DAG...?もう訳わかんないのだ。ボク、ラーメン食べに行きたいのだ。
やきう
Directed Acyclic Graphも知らんのか。有向非巡回グラフや。依存関係を表すグラフ構造やで。
でぇじょうぶ博士
まあ、ずん君が理解する必要はないでやんす。Woveが勝手にやってくれるでやんすから。それがこのライブラリの素晴らしい点でやんす。
ずん
つまり...ボクみたいなバカでも使えるってこと?天才じゃん、Wove作った人!
やきう
バカでも使えるツールが増えると、バカが増産されるんやで。本質を理解せん奴ばっかりになるわ。
でぇじょうぶ博士
哲学的でやんすね...。でも、抽象化のレイヤーが上がることで生産性が向上するのは事実でやんす。昔はアセンブリで書いてたのが、今は高級言語で書けるようになったのと同じでやんす。
ずん
アセンブリ...?それって美味しいの?なのだ。
やきう
もうええわ。こいつと話してると頭痛くなるわ。
でぇじょうぶ博士
ずん君、もう少し勉強するでやんす...。まあ、Woveの登場で、非同期処理の敷居が下がるのは間違いないでやんす。構文糖尿病に悩まされてた人には朗報でやんすね。
ずん
結局、ボクが理解したのは、Wove使えば楽できるってことだけなのだ!これからはWoveの時代なのだ!
Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy|Atsushi Shibata引用元:https://note.com/shibats/n/n3e93d1cde923