「メモリ最適化」の記事一覧
-
大容量JSONをPydanticで効率的に扱う方法
2025-05-22 18:06
IT・ネット大容量JSONをPydanticで読み込むと、メモリ使用量が膨大になる問題があります。この記事では、ストリーミング型のJSONパーサーijsonを使うことで、メモリ使用量を20分の1以下に抑える手法を紹介。さらに、Pydanticのdataclassとslotsを併用することで、450MBまで削減可能となります。標準のmodel_validate_jsonに比べて遅いものの、実用的な大規模データ処理が可能になるアプローチです。
-
JEP 519:コンパクトオブジェクトヘッダーが正式機能に
2025-05-22 08:24
科学・技術JavaのJEP 519では、JDK 24で導入されたコンパクトオブジェクトヘッダーを実験的機能から製品機能に格上げする提案がなされています。この新機能により、メモリ使用量やCPU使用率が削減され、ガベージコレクションの回数も減少します。Amazonなどでも実運用で効果が確認されており、今後は追加オプションなしで利用可能になる予定です。
-
アルゴリズム研究で“空間の力”が再評価される画期的成果
2025-05-21 19:34
科学・技術MITの理論計算機科学者ライアン・ウィリアムズ氏が発表した新たな証明により、従来よりもはるかに少ないメモリで計算を可能にするアルゴリズム変換手法が明らかになりました。この成果は、過去50年間解明されなかった時間と空間の関係性に一石を投じるもので、複雑性理論における大きな前進と評価されています。今後のP対PSPACE問題の突破口としても注目されています。
-
KVSplit、Apple Silicon向けLLMのメモリ効率化技術を公開
2025-05-16 20:04
科学・技術GitHubプロジェクト「KVSplit」は、Apple Silicon上で大規模言語モデルを効率的に動作させるために、Attention機構のKVキャッシュにおけるキーとバリューを別々の精度で量子化する手法を提供しています。K8V4構成(キー8ビット・バリュー4ビット)では、メモリを59%削減しつつ精度劣化は1%未満。Metal最適化による高速推論や、直感的な可視化ツール、簡単なセットアップも特徴です。最大72%のメモリ削減が可能で、長文コンテキスト処理にも効果的です。
-
Struct of ArraysをC++26で実装する試み
2025-05-09 10:52
科学・技術本記事では、ZigのMultiArrayListに触発され、C++26のReflection機能を用いてStruct of Arrays(SoA)を実装する試みを紹介しています。SoAは、構造体の各メンバを個別の配列として管理することで、キャッシュ効率やデータ処理速度の向上を図る設計手法です。記事では、型の反映、メンバ毎のメモリ割当て、push_backやoperator[]の実装に至るまで、段階的かつ詳細にコードとともに解説されています。Zigと比較しながらC++の柔軟性も示しています。
-
コンパクト・エラスティック・バイナリーツリーの設計と応用
2025-05-05 09:25
科学・技術cebtreeは、最小限のメモリ使用で高速なデータ構造を実現するために設計された、新しい形式のバイナリーツリーです。ノードに親ポインタを持たず、わずか2つのポインタで構成され、空間効率に優れています。重複キー対応、タグ付きポインタ、相対ポインタなどの実装を経て、haproxyの変数や設定における検索効率を向上させる実用性が確認されました。今後は並列処理対応やさらなる汎用性の拡大が期待されています。