From 017e42fbc74582d37bb4924496a8ef69f5b06a67 Mon Sep 17 00:00:00 2001 From: Damon Kohler <damonkohler@google.com> Date: Wed, 25 Jul 2012 14:39:25 +0200 Subject: [PATCH] Changes xxxArrayField to stop relying on FieldTypes for deserialization. This avoids unnecessary auto(un)boxing which hurts performance. --- .../java/org/ros/internal/message/field/BooleanArrayField.java | 2 +- .../java/org/ros/internal/message/field/ByteArrayField.java | 2 +- .../java/org/ros/internal/message/field/DoubleArrayField.java | 2 +- .../java/org/ros/internal/message/field/FloatArrayField.java | 2 +- .../java/org/ros/internal/message/field/IntegerArrayField.java | 2 +- .../java/org/ros/internal/message/field/LongArrayField.java | 2 +- .../java/org/ros/internal/message/field/ShortArrayField.java | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/BooleanArrayField.java b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/BooleanArrayField.java index f0017f6d..75a9fe17 100644 --- a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/BooleanArrayField.java +++ b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/BooleanArrayField.java @@ -71,7 +71,7 @@ public class BooleanArrayField extends Field { } value = new boolean[currentSize]; for (int i = 0; i < currentSize; i++) { - value[i] = (Boolean) type.deserialize(buffer); + value[i] = buffer.readByte() == 1; } } diff --git a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ByteArrayField.java b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ByteArrayField.java index 7f5a543b..02e08bfb 100644 --- a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ByteArrayField.java +++ b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ByteArrayField.java @@ -71,7 +71,7 @@ public class ByteArrayField extends Field { } value = new byte[currentSize]; for (int i = 0; i < currentSize; i++) { - value[i] = (Byte) type.deserialize(buffer); + value[i] = buffer.readByte(); } } diff --git a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/DoubleArrayField.java b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/DoubleArrayField.java index 8b4ad794..a0c3945f 100644 --- a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/DoubleArrayField.java +++ b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/DoubleArrayField.java @@ -71,7 +71,7 @@ public class DoubleArrayField extends Field { } value = new double[currentSize]; for (int i = 0; i < currentSize; i++) { - value[i] = (Double) type.deserialize(buffer); + value[i] = buffer.readDouble(); } } diff --git a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/FloatArrayField.java b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/FloatArrayField.java index 23786e7a..fcbf50c2 100644 --- a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/FloatArrayField.java +++ b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/FloatArrayField.java @@ -71,7 +71,7 @@ public class FloatArrayField extends Field { } value = new float[currentSize]; for (int i = 0; i < currentSize; i++) { - value[i] = (Float) type.deserialize(buffer); + value[i] = buffer.readFloat(); } } diff --git a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/IntegerArrayField.java b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/IntegerArrayField.java index d40982d2..adb0753f 100644 --- a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/IntegerArrayField.java +++ b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/IntegerArrayField.java @@ -71,7 +71,7 @@ public class IntegerArrayField extends Field { } value = new int[currentSize]; for (int i = 0; i < currentSize; i++) { - value[i] = (Integer) type.deserialize(buffer); + value[i] = buffer.readInt(); } } diff --git a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/LongArrayField.java b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/LongArrayField.java index 8f44677f..8c2a611b 100644 --- a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/LongArrayField.java +++ b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/LongArrayField.java @@ -73,7 +73,7 @@ public class LongArrayField extends Field { } value = new long[currentSize]; for (int i = 0; i < currentSize; i++) { - value[i] = (Long) type.deserialize(buffer); + value[i] = buffer.readLong(); } } diff --git a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ShortArrayField.java b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ShortArrayField.java index 02dafafe..e77b72a3 100644 --- a/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ShortArrayField.java +++ b/rosjava_bootstrap/src/main/java/org/ros/internal/message/field/ShortArrayField.java @@ -71,7 +71,7 @@ public class ShortArrayField extends Field { } value = new short[currentSize]; for (int i = 0; i < currentSize; i++) { - value[i] = (Short) type.deserialize(buffer); + value[i] = buffer.readShort(); } } -- GitLab