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)

Reply via email to