Skip to content

Commit 7c5af3d

Browse files
committed
reduce memory overhead on list
1 parent 40fafda commit 7c5af3d

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

FSharp.MongoDB.Driver/Serializers/List.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ open MongoDB.Bson.Serialization
55
type internal ListSerializer<'T>() =
66
inherit SerializerBase<List<'T>>()
77

8-
let contentSerializer = BsonSerializer.LookupSerializer(typeof<'T[]>)
8+
let contentSerializer = BsonSerializer.LookupSerializer(typeof<System.Collections.Generic.IEnumerable<'T>>)
99

1010
override _.Serialize(context, _, value) =
11-
let list = value |> List.toArray
11+
let list = value
1212
contentSerializer.Serialize(context, list)
1313

1414
override _.Deserialize(context, args) =
15-
let list = contentSerializer.Deserialize(context, args) :?>'T[]
16-
list |> List.ofArray
15+
let list = contentSerializer.Deserialize(context, args) :?> System.Collections.Generic.IEnumerable<'T>
16+
list |> List.ofSeq

FSharp.MongoDB.Driver/Serializers/Map.fs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,3 @@ type internal MapSerializer<'K, 'V when 'K : comparison>() =
1414
override _.Deserialize(context, args) =
1515
let dict = contentSerializer.Deserialize(context, args) :?> System.Collections.Generic.IDictionary<'K, 'V>
1616
dict |> Seq.map (|KeyValue|) |> Map.ofSeq
17-

0 commit comments

Comments
 (0)