From 6ab9527603f9f2b4d7b20aaa12d2548ee1ccc919 Mon Sep 17 00:00:00 2001 From: terry-xiaoyu <506895667@qq.com> Date: Tue, 2 Jul 2019 18:47:46 +0800 Subject: [PATCH] Optimize to_map for performance --- src/emqx_message.erl | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/emqx_message.erl b/src/emqx_message.erl index 23ddd69d4..e2394a5df 100644 --- a/src/emqx_message.erl +++ b/src/emqx_message.erl @@ -188,8 +188,24 @@ update_expiry(Msg) -> Msg. %% @doc Message to map -spec(to_map(emqx_types:message()) -> map()). -to_map(Msg) -> - maps:from_list(to_list(Msg)). +to_map(#message{ + id = Id, + qos = QoS, + from = From, + flags = Flags, + headers = Headers, + topic = Topic, + payload = Payload, + timestamp = Timestamp + }) -> + #{id => Id, + qos => QoS, + from => From, + flags => Flags, + headers => Headers, + topic => Topic, + payload => Payload, + timestamp => Timestamp}. %% @doc Message to tuple list -spec(to_list(emqx_types:message()) -> map()).