Skip to content

Commit 50a8161

Browse files
committed
continue
1 parent ac2affd commit 50a8161

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

bench/encode.exs

+32-3
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,8 @@ defmodule Bench do
143143
encode_string(hostname),
144144
encode_string(pathname),
145145
<<user_id::64-unsigned, session_id::64-unsigned, timestamp::16-unsigned>>,
146-
# TODO
147-
meta_keys,
148-
meta_values,
146+
encode_string_array(meta_keys),
147+
encode_string_array(meta_values),
149148
encode_nullable(revenue_source_amount),
150149
encode_fixed_string_3(revenue_source_currency),
151150
encode_nullable(revenue_reporting_amount),
@@ -188,6 +187,35 @@ defmodule Bench do
188187

189188
defp encode_string(nil), do: 0
190189

190+
@compile inline: [encode_string_array: 1]
191+
def encode_string_array([]), do: 0
192+
# def encode_string_array([e1]), do: [1, encode_varint(byte_size(e1)) | e1]
193+
194+
# def encode_string_array([e1, e2]) do
195+
# [2, encode_varint(byte_size(e1)), e1, encode_varint(byte_size(e2)), e2]
196+
# end
197+
198+
# def encode_string_array([e1, e2, e3]) do
199+
# [
200+
# 2,
201+
# encode_varint(byte_size(e1)),
202+
# e1,
203+
# encode_varint(byte_size(e2)),
204+
# e2,
205+
# encode_varint(byte_size(e3)),
206+
# e3
207+
# ]
208+
# end
209+
210+
def encode_string_array([_ | _] = arr) do
211+
[encode_varint(length(arr)) | encode_strings(arr)]
212+
end
213+
214+
def encode_string_array(nil), do: 0
215+
216+
defp encode_strings([s | rest]), do: [encode_string(s) | encode_strings(rest)]
217+
defp encode_strings([]), do: []
218+
191219
@compile inline: [encode_fixed_string_2: 1]
192220
defp encode_fixed_string_2(str) when byte_size(str) == 2, do: str
193221
defp encode_fixed_string_2(nil), do: <<0, 0>>
@@ -219,6 +247,7 @@ defmodule Bench do
219247
"current encoder" => &Bench.current_encoder/1,
220248
"next encoder" => &Bench.next_encoder/1
221249
},
250+
# profile_after: true,
222251
inputs: %{
223252
# "empty" => %ClickhouseEventV2{},
224253
"pageview" => %ClickhouseEventV2{

0 commit comments

Comments
 (0)