Pythonは長年、「書きやすいが並列処理は弱い」と言われ続けてきました。その原因の一つはGIL(グローバル・インタプリタ・ロック)という仕組みにあります。CPUを本気で使いたおす処理では他言語に一歩譲るのが現実でした。しかしPython 3.13で実験的に導入された“GILなし版(free-threaded)”は、その前提を大きく変えようとしています。 その可能性をWebフレームワークという現実的な土俵で試したのが、今回紹介するBarqです。FastAPIと比較して2〜5倍という数字を叩き出したこの実験は、単なる高速化の話ではありません。Pythonが「本当に並列に動く言語」へと変わるかもしれない、その予兆を示しています。 Barqのベンチマークまずはベンチマーク結果から見ていきます。検証環境は以下です。 CPU:Apple M2 Pro(12コア) Python:3.13.0 free
こんにちは.今回は,uv, ruff, devcontainer, Claude Code, Cursorなどのモダンなツールを使ったPythonの開発環境テンプレートを作成したので,その内容を紹介します. テンプレートは以下のリポジトリで公開しています. テンプレートの特徴・構成 本テンプレートは,シンプルで自由度の高いテンプレートを目指すため,あまり多くのツールを導入しないように心がけています.多くのツールを導入すると,学習コストも高くなるためです. uv: Rust製の高速なPythonの仮想環境・パッケージ管理ツール ruff: Rust製の高速なFormatter, Linter pytest: テストフレームワーク pre-commit: コミット前のFormat, Lintによるコード品質の担保 devcontainer: 統一された開発環境の提供 Docker, Docke
読みやすいコードとは何か 読みやすいコードとは、脳に負荷がかからないコードである。脳に負荷がかからないコードとは、人間の脳の特性に配慮して書かれたコードである。したがって読みやすいコードを書くには、まず人間の脳の特性を把握する必要がある。読みやすいコードの特徴は、この人間の脳の特性から論理的に導かれる。 また、「コードを読む」とは過去から未来への情報伝達、または自分から他者への情報伝達であり、情報理論における以下の2つの数学的原理にも支配される。 頻出する情報には共通の符号を割り当てることで情報を圧縮することができる。 失われた情報を復元することはできない。 この記事に書かれた内容はプログラムに止まらず、ドキュメント、記事の執筆など、プレインテキストによって情報を伝達する際には一般に適用可能である。 もしもこの記事を読むのが面倒であれば、以下の5つだけを覚えておけばよい。 ひとつの処理の単
Python開発者向けツールRuff/uvの開発チーム(Astral inc.)がPython向けの型チェッカーを新規開発しているので紹介いたします。この型チェッカーはコードネーム"Red-knot"と呼ばれており、まだリリース前ですが将来的にはRuffに組み込まれる予定であるようです。以下ではこのプロジェクトの概略を説明したいと思います。 特徴 既存の型チェッカー(e.g. mypy, pyright)の不満点である遅さを改善すべく、徹底的にパフォーマンスに気を配った設計となっています。pyrightもそこまで遅くはないのですが、さらに高速であることを目指すようです。 Red-knotはRuffと同様Rustを用いて実装されています。Ruffが使っている諸々のデータ構造を共有しているため、フォーマット、lint、静的解析が一気通貫で行えるようになります。JavaScriptツールチェイン
TL;DR Pythonの型チェッカーを一人で作っていたらそれが仕事になりました。 私は(大学院生として物理学を専攻する傍ら)以前よりプログラミング言語やその周辺ツールのデザイン・実装に興味があり、趣味で開発したプロジェクトをOSSで公開するなどしていました。 ErgはPython APIと互換性を持つトランスパイル型の静的型付け言語で、pylyzerはこれの型検査器を流用したPython向け型チェッカーです。 ありがたいことに両方とも結構反響を受けて、公開から数年経っても未だにissueなど報告をいただいております。これはもう少し大きな話にできるのではないかと考え、Ergの開発の方で2023年度の未踏IT人材発掘・育成事業に応募し、運よく採択され、スーパークリエータにまで認定していただきました。 これだけでもかなりの僥倖ですが、それだけではなく、今年の3月からcontract softw
In this blog post, we’ll take a high-level tour of what’s inside the Mojo SDK. First, let’s quickly review what Mojo is and how it can benefit you. Mojo: a high performance 'Python++' language for computeMojo is a new programming language for AI developers that will grow into being a superset of Python over time. It already supports integrating with arbitrary Python code seamlessly and has a scala
Pythonパッケージ管理ツール ryeの使い勝手がよかったので使用方法をまとめました。 ryeとは GitHub: https://github.com/mitsuhiko/rye flaskの作者である Armin Ronacher氏 (GitHubアカウント @mitsuhiko)が個人利用目的で作成した、Pythonのパッケージ関係管理ツールです。内部実装はRustです。 ryeが作成された思想がリポジトリ Should Rye Exist? のDiscussionページに書かれています。 Should Rye Exist?: XKCD #927 Disucssion中の図にあるように、従来のPythonのパッケージ管理は”様々な標準”が存在し、このばらつきを統一しようと新しくパッケージ管理ツールを導入しても、”新たな標準が追加されるだけ”となり、真のパッケージ管理の標準化を行えて
AWS News Blog AWS Cloud Development Kit (CDK) – TypeScript and Python are Now Generally Available Managing your Infrastructure as Code provides great benefits and is often a stepping stone for a successful application of DevOps practices. In this way, instead of relying on manually performed steps, both administrators and developers can automate provisioning of compute, storage, network, and appli
AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be
Microsoft makes AI debugging and visualization tool TensorWatch open source Published June 25, 2019 By Shital Shah , Principal Research Engineer Roland Fernandez , Principal Researcher Steven Drucker , Partner Research Manager Maxim Lukiyanov , Principal Program Manager Susan Dumais , Technical Fellow & Managing Director The rise of deep learning is accompanied by ever-increasing model complexity,
Today the Windows team announced the May 2019 Update for Windows 10. In this post we’re going to look at what we, Microsoft’s Python team, have done to make Python easier to install on Windows by helping the community publish to the Microsoft Store and, in collaboration with Windows, adding a default “python.exe” command to help find it. You may have already heard about these on the Python Bytes p
はじめに コードは理解しやすくなければいけない。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者:Dustin Boswell,Trevor Foucher発売日: 2012/06/23メディア: 単行本(ソフトカバー) コードの保守性や可読性を高めるために我々エンジニアはどんなことができるでしょうか? テストを書く 推奨されているコードスタイルに準拠する コメントを書く DRY原則に則る 変更・拡張しやすく設計する ログを出力する・監視する 適切な命名をする etc... まだまだ意識すべきことはあると思いますが、上記の項目はエンジニアであれば恐らく一度は目にしたことがあるような内容であり、暗黙的に了承されたいルールです。 しかし、これらはただの心構えであり、体現するために実際には以下のような項目に落とし込む必要
Introducing App Engine Second Generation runtimes and Python 3.7 Today, Google Cloud is announcing the availability of Second Generation App Engine standard runtimes, a significant upgrade to the platform that allows you to easily run web apps using up-to-date versions of popular languages, frameworks and libraries. Python 3.7 is available today in beta on the App Engine standard environment. You
Reviewed by Sumit Sarabhai Fetching a million rows from SQL Server into a Polars DataFrame used to mean a million Python objects, a million GC allocations, and then throwing it all away to build a DataFrame. Not anymore. mssql-python now supports fetching SQL Server data directly as Apache Arrow structures - a faster and more memory-efficient path for anyone working with SQL Server data in Polars,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く