Opened 6 years ago

Closed 3 years ago

#1802 closed enhancement (done)

Improve serialization and deserialization of enumerables of primitive types

Reported by: mkommend Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.11
Component: Persistence Version: 3.3.6
Keywords: Cc:

Description

The DataImporter uses List<double?>, List<DateTime?> and List<string> quite heavily. These types are currently serialized using the default EnumerableSerializer and thus every element is processed separately. To improve the persistence speed a specialized EnumerableSerializer should be implemented, which can handle the specified types.

Change History (10)

comment:1 Changed 4 years ago by gkronber

  • Priority changed from medium to low

This is mainly relevant for the DataImporter which should be integrated into the trunk soon.

comment:2 Changed 3 years ago by epitzer

  • Status changed from new to accepted

comment:3 Changed 3 years ago by epitzer

r10896 make the Number2StringSerializer accept nullable numbers

comment:4 Changed 3 years ago by ascheibe

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.11

comment:5 Changed 3 years ago by abeham

  • Priority changed from low to medium

There has already been a commit in the trunk a while ago. Please make sure this ticket is released rather sooner than later.

comment:6 Changed 3 years ago by epitzer

r11352 add more test cases to ensure proper serialization of nullable types

comment:7 Changed 3 years ago by epitzer

This concludes the first part of the request (compact serialization of nullable types). Adding compact serialization of string enumerables requires more work to ensure correct handling of escapes, unicode and embedded CDATA sections. If this feature is still required I propose to put it into a new ticket.

Last edited 3 years ago by epitzer (previous) (diff)

comment:8 Changed 3 years ago by epitzer

  • Owner changed from epitzer to mkommend
  • Status changed from accepted to reviewing

comment:9 Changed 3 years ago by mkommend

  • Status changed from reviewing to readytorelease

Reviewed r10896 and r11352.

comment:10 Changed 3 years ago by mkommend

  • Resolution set to done
  • Status changed from readytorelease to closed

r11373: Merged r10896 and r11352 to stable.

Note: See TracTickets for help on using tickets.