locationtech / geotrellis

GeoTrellis is a geographic data processing engine for high performance applications.
http://geotrellis.io
Other
1.33k stars 360 forks source link

ArrayTile.{cols | rows} calls boxing fix #3441

Closed pomadchin closed 2 years ago

pomadchin commented 2 years ago

Overview

Since GT 3.x we had a regression where all calls to cols / rows were boxed. This lead to regressions in MutableArrayTile.{set / update / etc} functions. For more details see #3427, #3428, #3429 and #3432

This PR clarifies Grid inheritors cols / rows function types to help with the specialized calls dispatch.

Checklist

Demo

Can be reproduced via:

$ sbt project bench; benchOnly geotrellis/raster/GridBoxingBench.scala
Screen Shot 2021-12-02 at 21 52 48

Closes #3427 Closes #3432

pomadchin commented 2 years ago

Going to leave here a link to this repo, for history https://github.com/pomadchin/specialization-benchmark