Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
-
Description
org.apache.hadoop.hive.serde2.ByteStream has 2 inner classes: Input and Output, which inherits from ByteArrayInputStream and ByteArrayOutputStream.
Both these classes have a lot of sychronized methods, which make them really slow.
We should let ByteStream.Input and ByteStream.Output directly inherit InputStream and OutputStream so we don't need to call synchronized methods at all. This will help LazySimpleSerDe, ColumnarSerDe as well as LazyBinarySerDe.