SIMDとスレッドで単語カウント速度を494倍高速化

2025-08-17

この記事では、単語カウントプログラムの最適化における著者の取り組みを詳細に説明し、494倍もの驚異的な高速化を実現しています。ナイーブなPython実装(89.6秒)から始まり、CPythonの`re`モジュール(13.7秒)、C言語のスカラーループ(1.205秒)、そして最後にSIMD命令とマルチスレッド(181ミリ秒)を使用することで、段階的にパフォーマンスを向上させています。各最適化ステップでは、C拡張の活用、効率的なCループ、マルチコアCPUの活用などが説明されています。マルチスレッドによる高速化は期待ほどではなかったものの、最終バージョンでは5.52 GiB/sという驚異的な処理速度を達成しています。著者は、さらなる最適化の提案を呼びかけています。

続きを読む
開発

macOSディスク使用量ツールDumacのパフォーマンス大幅改善

2025-08-11

`du -sh`よりも高速なmacOSディスク使用量ユーティリティであるDumacは、macOS固有のシステムコール`getattrlistbulk`を活用しています。コミュニティからのフィードバックを取り入れることで、作者は並列処理の改善のためにTokioからRayonへの切り替え、inodeハッシュセットシャーディングの最適化を行い、約33%のパフォーマンス向上を実現しました。洗練されたシャーディング戦略によるinode競合の解決により、さらに速度向上しました。

続きを読む
開発

LÖVEを使った高速ゲームプロトタイピング

2024-12-31

2025年に完成したゲームを目標とするプログラマーは、Lua言語のLÖVE2Dフレームワークを用いて、チェスとカードゲームのプロトタイプを作成しました。LÖVEのシンプルながらも強力なAPIにより、最小限のコードで複雑なUIインタラクションを実現し、LLM支援によるコード生成によってさらに開発が加速されました。作者は、LÖVEが特にUIにおいてプロトタイピングに最適である一方、大規模プロジェクトではホットリロードとロジックの分離の改善が必要であることを指摘しています。最終目標は、LÖVEを使って基本的なゲームMVPを開発することです。

続きを読む