コアあたりのプロセッサ キャッシュのサイズに非常に敏感なピュア Java の数値アルゴリズムを微調整しています。作業データ セットが L1 キャッシュ内に収まると、著しく高速に実行されます。
明らかに、少しベンチマークを行うことで、ローカル マシン用にこれを微調整できます。しかし、理想的には、使用されているプロセッサの L1 キャッシュのサイズに基づいて、ワーキング セットのサイズを自動的に調整できるようにしたいと考えています。
ネイティブ コードはオプションではありません。このアルゴリズムを Java で記述することの全体的なポイントは、プラットフォームに依存しないようにすることです。
純粋な Javaでコアごとのキャッシュのサイズを確実に決定する良い方法はありますか?