Skip to content

Commit efef4af

Browse files
authored
Merge pull request #54 from ess-dmsc/performance_fix_f142
Improve f142 serialisation performance
2 parents 13a9925 + fb8ce5b commit efef4af

File tree

2 files changed

+11
-51
lines changed

2 files changed

+11
-51
lines changed

streaming_data_types/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Version is not directly defined in __init__ because that causes all
22
# run time dependencies to become build-time dependencies when it is
33
# imported in setup.py
4-
version = "0.15.0"
4+
version = "0.15.1"

streaming_data_types/logdata_f142.py

Lines changed: 10 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
ArrayUByteStart,
1313
ArrayUByteAddValue,
1414
ArrayUByteEnd,
15-
ArrayUByteStartValueVector,
1615
)
1716
from streaming_data_types.fbschemas.logdata_f142.Byte import (
1817
Byte,
@@ -25,7 +24,6 @@
2524
ArrayByteStart,
2625
ArrayByteAddValue,
2726
ArrayByteEnd,
28-
ArrayByteStartValueVector,
2927
)
3028
from streaming_data_types.fbschemas.logdata_f142.UShort import (
3129
UShort,
@@ -38,7 +36,6 @@
3836
ArrayUShortStart,
3937
ArrayUShortAddValue,
4038
ArrayUShortEnd,
41-
ArrayUShortStartValueVector,
4239
)
4340
from streaming_data_types.fbschemas.logdata_f142.Short import (
4441
Short,
@@ -51,7 +48,6 @@
5148
ArrayShortStart,
5249
ArrayShortAddValue,
5350
ArrayShortEnd,
54-
ArrayShortStartValueVector,
5551
)
5652
from streaming_data_types.fbschemas.logdata_f142.UInt import (
5753
UInt,
@@ -64,7 +60,6 @@
6460
ArrayUIntStart,
6561
ArrayUIntAddValue,
6662
ArrayUIntEnd,
67-
ArrayUIntStartValueVector,
6863
)
6964
from streaming_data_types.fbschemas.logdata_f142.Int import (
7065
Int,
@@ -77,7 +72,6 @@
7772
ArrayIntStart,
7873
ArrayIntAddValue,
7974
ArrayIntEnd,
80-
ArrayIntStartValueVector,
8175
)
8276
from streaming_data_types.fbschemas.logdata_f142.ULong import (
8377
ULong,
@@ -90,7 +84,6 @@
9084
ArrayULongStart,
9185
ArrayULongAddValue,
9286
ArrayULongEnd,
93-
ArrayULongStartValueVector,
9487
)
9588
from streaming_data_types.fbschemas.logdata_f142.Long import (
9689
Long,
@@ -103,7 +96,6 @@
10396
ArrayLongStart,
10497
ArrayLongAddValue,
10598
ArrayLongEnd,
106-
ArrayLongStartValueVector,
10799
)
108100
from streaming_data_types.fbschemas.logdata_f142.Float import (
109101
Float,
@@ -116,7 +108,6 @@
116108
ArrayFloatStart,
117109
ArrayFloatAddValue,
118110
ArrayFloatEnd,
119-
ArrayFloatStartValueVector,
120111
)
121112
from streaming_data_types.fbschemas.logdata_f142.Double import (
122113
Double,
@@ -129,7 +120,6 @@
129120
ArrayDoubleStart,
130121
ArrayDoubleAddValue,
131122
ArrayDoubleEnd,
132-
ArrayDoubleStartValueVector,
133123
)
134124
from streaming_data_types.fbschemas.logdata_f142.String import (
135125
String,
@@ -191,10 +181,7 @@ def _serialise_byte(builder: flatbuffers.Builder, data: np.ndarray, source: int)
191181

192182

193183
def _serialise_bytearray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
194-
ArrayByteStartValueVector(builder, len(data))
195-
for single_value in reversed(data):
196-
builder.PrependInt8(single_value)
197-
array_offset = builder.EndVector(len(data))
184+
array_offset = builder.CreateNumpyVector(data)
198185
ArrayByteStart(builder)
199186
ArrayByteAddValue(builder, array_offset)
200187
value_position = ArrayByteEnd(builder)
@@ -215,10 +202,7 @@ def _serialise_ubyte(builder: flatbuffers.Builder, data: np.ndarray, source: int
215202

216203

217204
def _serialise_ubytearray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
218-
ArrayUByteStartValueVector(builder, len(data))
219-
for single_value in reversed(data):
220-
builder.PrependUint8(single_value)
221-
array_offset = builder.EndVector(len(data))
205+
array_offset = builder.CreateNumpyVector(data)
222206
ArrayUByteStart(builder)
223207
ArrayUByteAddValue(builder, array_offset)
224208
value_position = ArrayUByteEnd(builder)
@@ -239,10 +223,7 @@ def _serialise_short(builder: flatbuffers.Builder, data: np.ndarray, source: int
239223

240224

241225
def _serialise_shortarray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
242-
ArrayShortStartValueVector(builder, len(data))
243-
for single_value in reversed(data):
244-
builder.PrependInt16(single_value)
245-
array_offset = builder.EndVector(len(data))
226+
array_offset = builder.CreateNumpyVector(data)
246227
ArrayShortStart(builder)
247228
ArrayShortAddValue(builder, array_offset)
248229
value_position = ArrayShortEnd(builder)
@@ -263,10 +244,7 @@ def _serialise_ushort(builder: flatbuffers.Builder, data: np.ndarray, source: in
263244

264245

265246
def _serialise_ushortarray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
266-
ArrayUShortStartValueVector(builder, len(data))
267-
for single_value in reversed(data):
268-
builder.PrependUint16(single_value)
269-
array_offset = builder.EndVector(len(data))
247+
array_offset = builder.CreateNumpyVector(data)
270248
ArrayUShortStart(builder)
271249
ArrayUShortAddValue(builder, array_offset)
272250
value_position = ArrayUShortEnd(builder)
@@ -287,10 +265,7 @@ def _serialise_int(builder: flatbuffers.Builder, data: np.ndarray, source: int):
287265

288266

289267
def _serialise_intarray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
290-
ArrayIntStartValueVector(builder, len(data))
291-
for single_value in reversed(data):
292-
builder.PrependInt32(single_value)
293-
array_offset = builder.EndVector(len(data))
268+
array_offset = builder.CreateNumpyVector(data)
294269
ArrayIntStart(builder)
295270
ArrayIntAddValue(builder, array_offset)
296271
value_position = ArrayIntEnd(builder)
@@ -311,10 +286,7 @@ def _serialise_uint(builder: flatbuffers.Builder, data: np.ndarray, source: int)
311286

312287

313288
def _serialise_uintarray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
314-
ArrayUIntStartValueVector(builder, len(data))
315-
for single_value in reversed(data):
316-
builder.PrependUint32(single_value)
317-
array_offset = builder.EndVector(len(data))
289+
array_offset = builder.CreateNumpyVector(data)
318290
ArrayUIntStart(builder)
319291
ArrayUIntAddValue(builder, array_offset)
320292
value_position = ArrayUIntEnd(builder)
@@ -335,10 +307,7 @@ def _serialise_long(builder: flatbuffers.Builder, data: np.ndarray, source: int)
335307

336308

337309
def _serialise_longarray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
338-
ArrayLongStartValueVector(builder, len(data))
339-
for single_value in reversed(data):
340-
builder.PrependInt64(single_value)
341-
array_offset = builder.EndVector(len(data))
310+
array_offset = builder.CreateNumpyVector(data)
342311
ArrayLongStart(builder)
343312
ArrayLongAddValue(builder, array_offset)
344313
value_position = ArrayLongEnd(builder)
@@ -359,10 +328,7 @@ def _serialise_ulong(builder: flatbuffers.Builder, data: np.ndarray, source: int
359328

360329

361330
def _serialise_ulongarray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
362-
ArrayULongStartValueVector(builder, len(data))
363-
for single_value in reversed(data):
364-
builder.PrependUint64(single_value)
365-
array_offset = builder.EndVector(len(data))
331+
array_offset = builder.CreateNumpyVector(data)
366332
ArrayULongStart(builder)
367333
ArrayULongAddValue(builder, array_offset)
368334
value_position = ArrayULongEnd(builder)
@@ -383,10 +349,7 @@ def _serialise_float(builder: flatbuffers.Builder, data: np.ndarray, source: int
383349

384350

385351
def _serialise_floatarray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
386-
ArrayFloatStartValueVector(builder, len(data))
387-
for single_value in reversed(data):
388-
builder.PrependFloat32(single_value)
389-
array_offset = builder.EndVector(len(data))
352+
array_offset = builder.CreateNumpyVector(data)
390353
ArrayFloatStart(builder)
391354
ArrayFloatAddValue(builder, array_offset)
392355
value_position = ArrayFloatEnd(builder)
@@ -407,10 +370,7 @@ def _serialise_double(builder: flatbuffers.Builder, data: np.ndarray, source: in
407370

408371

409372
def _serialise_doublearray(builder: flatbuffers.Builder, data: np.ndarray, source: int):
410-
ArrayDoubleStartValueVector(builder, len(data))
411-
for single_value in reversed(data):
412-
builder.PrependFloat64(single_value)
413-
array_offset = builder.EndVector(len(data))
373+
array_offset = builder.CreateNumpyVector(data)
414374
ArrayDoubleStart(builder)
415375
ArrayDoubleAddValue(builder, array_offset)
416376
value_position = ArrayDoubleEnd(builder)

0 commit comments

Comments
 (0)