From 9cdd593e6121d552b053fdb86bac8f9149f42efd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Proust?= Date: Tue, 26 Jun 2018 13:31:53 +0800 Subject: [PATCH] Alpha/Baker: avoid list concatenations --- src/proto_alpha/lib_delegate/client_baking_forge.ml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/proto_alpha/lib_delegate/client_baking_forge.ml b/src/proto_alpha/lib_delegate/client_baking_forge.ml index a188164f6..495a7c5da 100644 --- a/src/proto_alpha/lib_delegate/client_baking_forge.ml +++ b/src/proto_alpha/lib_delegate/client_baking_forge.ml @@ -209,11 +209,13 @@ let forge (op : Operation.packed) : Operation.raw = } let ops_of_mempool (ops : Alpha_block_services.Mempool.t) = - List.map (fun (_, op) -> op) ops.applied @ - Operation_hash.Map.fold (fun _ (op, _) acc -> op :: acc) ops.refused [] @ - Operation_hash.Map.fold (fun _ (op, _) acc -> op :: acc) ops.branch_refused [] @ - Operation_hash.Map.fold (fun _ (op, _) acc -> op :: acc) ops.branch_delayed [] @ - Operation_hash.Map.fold (fun _ op acc -> op :: acc) ops.unprocessed [] + List.rev ( + Operation_hash.Map.fold (fun _ op acc -> op :: acc) ops.unprocessed @@ + Operation_hash.Map.fold (fun _ (op, _) acc -> op :: acc) ops.branch_delayed @@ + Operation_hash.Map.fold (fun _ (op, _) acc -> op :: acc) ops.branch_refused @@ + Operation_hash.Map.fold (fun _ (op, _) acc -> op :: acc) ops.refused @@ + List.rev_map (fun (_, op) -> op) ops.applied + ) let unopt_operations cctxt chain = function | None ->