Kristin Cowalcijk created SEDONA-386:
----------------------------------------
Summary: Speed up GridCoverage2D serialization using Kryo
Key: SEDONA-386
URL: https://issues.apache.org/jira/browse/SEDONA-386
Project: Apache Sedona
Issue Type: Improvement
Reporter: Kristin Cowalcijk
Fix For: 1.5.0
Currently, GridCoverage2D objects are serialized using Java serializer, which
is painfully slow. It proved to be a bottleneck of various raster processing
jobs.
We've experimented with reimplementing a serializer using Kryo and achieved
~10x speed up. The Unsafe Input/Output of kryo proved to be super-efficient for
serializing raster band data (usually a 2-D array such as byte[][], short[][]
or float[][], etc.).
Serialization of CRS objects is also a performance hit. We found that the
number of distinct CRS objects won't be large throughout the entire raster
dataset, so we cache the compressed serialized CRS objects and reuse them. By
doing this we get rid of the hassle of implementing kryo serializer for
CoordinateReferenceSystem objects while eliminating the cost of serializing CRS.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)