fix copy paste error in v3/v4 and benchmark duplicate merges

Merging 1000 duplicates of the same batch:
v1: 98ms
v2: 101ms
v3: 116ms
v4: 116ms

So as expected v3 and v4 have a small cost with duplicates for optimizing for non-overlapping,
but even with ridiculous numbers duplicates are fast to process anyway.
mike/faster-chat-merge
Mike Lang 2 months ago
parent c87a25e875
commit 50c233b58c

@ -57,13 +57,13 @@ def merge_messages(*batches):
if id is None:
merged = merge_message(message, candidate)
if merged is not None:
candidates.pop(index)
batch.pop(index)
break
elif (candidate.get("tags") or {}).get("id") == id:
merged = merge_message(message, candidate)
if merged is None:
raise ValueError("TODO")
candidates.pop(index)
batch.pop(index)
break
if merged is not None:
message = merged

@ -85,13 +85,13 @@ def merge_messages(*batches):
if id is None:
merged = merge_message(message, candidate)
if merged is not None:
candidates.pop(index)
batch.pop(index)
break
elif (candidate.get("tags") or {}).get("id") == id:
merged = merge_message(message, candidate)
if merged is None:
raise ValueError("TODO")
candidates.pop(index)
batch.pop(index)
break
if merged is not None:
message = merged

Loading…
Cancel
Save