Skip to content

Instantly share code, notes, and snippets.

@davisp
Created March 22, 2022 14:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davisp/b3b57362c678eba0717bffb17e5ae2ce to your computer and use it in GitHub Desktop.
Save davisp/b3b57362c678eba0717bffb17e5ae2ce to your computer and use it in GitHub Desktop.
--- slow_tuples.no-sink.S 2022-03-22 09:54:32.000000000 -0500
+++ slow_tuples.opt.S 2022-03-22 09:54:08.000000000 -0500
@@ -297,9 +297,9 @@
{loop_rec,{f,24},{x,0}}.
{test,is_tagged_tuple,{f,23},[{x,0},2,{atom,get_mem}]}.
{test_heap,3,1}.
- {get_tuple_element,{x,0},1,{x,0}}.
remove_message.
{put_tuple2,{x,1},{list,[{atom,mem_max},{y,0}]}}.
+ {get_tuple_element,{x,0},1,{x,0}}.
{line,[{location,"slow_tuples.erl",78}]}.
send.
{jump,{f,25}}.
@@ -411,19 +411,19 @@
{label,41}.
{test,is_tuple,{f,43},[{x,1}]}.
{test,test_arity,{f,43},[{x,1},3]}.
- {allocate,2,2}.
- {get_tuple_element,{x,1},0,{x,2}}.
- {get_tuple_element,{x,1},1,{y,1}}.
- {get_tuple_element,{x,1},2,{y,0}}.
- {move,{x,2},{x,1}}.
+ {allocate,1,2}.
+ {move,{x,1},{y,0}}.
+ {get_tuple_element,{x,1},0,{x,1}}.
{line,[{location,"slow_tuples.erl",38}]}.
{call,2,{f,6}}.
{test,is_tuple,{f,42},[{x,0}]}.
{test,test_arity,{f,42},[{x,0},3]}.
{test_heap,4,1}.
+ {get_tuple_element,{y,0},1,{x,1}}.
+ {get_tuple_element,{y,0},2,{x,2}}.
{get_tuple_element,{x,0},0,{x,0}}.
- {put_tuple2,{x,0},{list,[{x,0},{y,1},{y,0}]}}.
- {deallocate,2}.
+ {put_tuple2,{x,0},{list,[{x,0},{x,1},{x,2}]}}.
+ {deallocate,1}.
return.
{label,42}.
{line,[{location,"slow_tuples.erl",38}]}.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment