From b30f8a2bfd31daea1765c74ddb0c43b4dece8e1d Mon Sep 17 00:00:00 2001 From: Artur Puzio Date: Mon, 22 Mar 2021 15:10:15 +0100 Subject: [PATCH] Avoid unnecessery calls to eblake2 We frequently need identifier of init function. Store it precalculated in headers. --- include/aeb_fate_data.hrl | 3 +++ src/aeb_fate_code.erl | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/include/aeb_fate_data.hrl b/include/aeb_fate_data.hrl index c6c6ae6..6a4ae8d 100644 --- a/include/aeb_fate_data.hrl +++ b/include/aeb_fate_data.hrl @@ -82,6 +82,9 @@ -define(FATE_EMPTY_STRING, <<>>). -define(FATE_STRING(S), S). -define(FATE_VARIANT(Arity, Tag,T), {variant, Arity, Tag, T}). +% Result of aeb_fate_code:symbol_identifier(<<"init">>). +% Stored here to avoid repeated calls to eblake2 +-define(FATE_INIT_ID, <<68,214,68,31>>). -define(MAKE_FATE_INTEGER(X), X). -define(MAKE_FATE_LIST(X), X). diff --git a/src/aeb_fate_code.erl b/src/aeb_fate_code.erl index cdb1b8c..cf91061 100644 --- a/src/aeb_fate_code.erl +++ b/src/aeb_fate_code.erl @@ -95,9 +95,8 @@ insert_annotation(comment =_Type, Line, Comment, FCode) -> strip_init_function(#fcode{ functions = Funs, symbols = Syms } = FCode) -> - Id = symbol_identifier(<<"init">>), - Funs1 = maps:remove(Id, Funs), - Syms1 = maps:remove(Id, Syms), + Funs1 = maps:remove(?FATE_INIT_ID, Funs), + Syms1 = maps:remove(?FATE_INIT_ID, Syms), FCode#fcode{ functions = Funs1, symbols = Syms1 }. %%%===================================================================