Hello, I've been doing some investigation of prefetching to decide upon reasonable parameters for each of the platforms we're testing. The results are posted here: http://people.linaro.org/~stuart.monteith/Prefetch/ For each platform: For Platform A: There is no benefit to allocation prefetching, and for purely allocating arrays, it is harmful: -XX:AllocatePrefetchStyle=-1 For array copy prefetching, 3 cache lines are best: -XX:PrefetchCopyIntervalInBytes=384 For Platform B: There is a large benefit to allocation prefetching smaller arrays if they are not being used straight away. This may benefit some workloads. Otherwise but the default should probably be: -XX:AllocatePrefetchStyle=-1 For array copy prefetching, it's best to not do prefetching. For Platform C: For all, except larger arrays, there aren't benefits for allocation prefetching. For arrays that are zero'd but not used, it is best not to turn on prefetching. -XX:AllocatePrefetchStyle=-1 There is no clear benefit to array copy prefetching. For all platforms: -XX:PrefetchScanIntervalInBytes Can be left as is - there are no clear benefits to enabling this. Best regards, Stuart
participants (1)
-
Stuart Monteith