Skip to content

Instantly share code, notes, and snippets.

@DBarney
Created April 12, 2013 18:26
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 DBarney/5374070 to your computer and use it in GitHub Desktop.
Save DBarney/5374070 to your computer and use it in GitHub Desktop.
Comparison of delay for setting an option that is already set when cowboy websockets receive any sort of message.
%% Analysis results:
{ analysis_options,
[{callers, true},
{sort, acc},
{totals, false},
{details, true}]}.
% CNT ACC OWN
[{ totals, 5044, 16.963, 12.194}]. %%%
% CNT ACC OWN
[{ "<0.147.0>", 5044,undefined, 12.194}]. %%
{[{{cowboy_protocol,execute,4}, 0, 16.963, 0.022},
{{cowboy_websocket,handler_before_loop,4}, 1000, 0.000, 2.076}],
{ {cowboy_websocket,handler_loop,4}, 1000, 16.963, 2.098}, %
[{{cowboy_websocket,handler_call,7}, 1000, 16.941, 5.399},
{suspend, 39, 4.769, 0.000},
{garbage_collect, 5, 0.060, 0.060}]}.
{[{undefined, 0, 16.963, 0.000}],
{ {cowboy_protocol,execute,4}, 0, 16.963, 0.000}, %
[{{cowboy_websocket,handler_loop,4}, 0, 16.963, 0.022}]}.
{[{{cowboy_websocket,handler_loop,4}, 1000, 16.941, 5.399}],
{ {cowboy_websocket,handler_call,7}, 1000, 16.941, 5.399}, %
[{{cowboy_websocket,'-handler_loop/4-fun-0-',4},1000, 16.930, 1.654},
{{stormpack_websocket_handler,websocket_info,3},1000, 1.353, 1.353}]}.
{[{{cowboy_websocket,handler_call,7}, 1000, 16.930, 1.654}],
{ {cowboy_websocket,'-handler_loop/4-fun-0-',4},1000, 16.930, 1.654}, %
[{{cowboy_websocket,handler_before_loop,4}, 1000, 16.928, 1.630}]}.
{[{{cowboy_websocket,'-handler_loop/4-fun-0-',4},1000, 16.928, 1.630}],
{ {cowboy_websocket,handler_before_loop,4}, 1000, 16.928, 1.630}, %
[{{cowboy_websocket,handler_loop,4}, 1000, 0.000, 2.076}]}.
{[{{cowboy_websocket,handler_loop,4}, 39, 4.769, 0.000}],
{ suspend, 39, 4.769, 0.000}, %
[ ]}.
{[{{cowboy_websocket,handler_call,7}, 1000, 1.353, 1.353}],
{ {stormpack_websocket_handler,websocket_info,3},1000, 1.353, 1.353}, %
[ ]}.
{[{{cowboy_websocket,handler_loop,4}, 5, 0.060, 0.060}],
{ garbage_collect, 5, 0.060, 0.060}, %
[ ]}.
{[ ],
{ undefined, 0, 0.000, 0.000}, %
[{{cowboy_protocol,execute,4}, 0, 16.963, 0.000}]}.
%% Analysis results:
{ analysis_options,
[{callers, true},
{sort, acc},
{totals, false},
{details, true}]}.
% CNT ACC OWN
[{ totals, 14056, 62.619, 57.909}]. %%%
% CNT ACC OWN
[{ "<0.147.0>", 14056,undefined, 57.909}]. %%
{[{{cowboy_protocol,execute,4}, 0, 62.619, 0.020},
{{cowboy_websocket,handler_before_loop,4}, 1000, 0.000, 2.490}],
{ {cowboy_websocket,handler_loop,4}, 1000, 62.619, 2.510}, %
[{{cowboy_websocket,handler_call,7}, 1000, 62.599, 10.902},
{suspend, 39, 4.710, 0.000},
{garbage_collect, 3, 0.053, 0.053}]}.
{[{undefined, 0, 62.619, 0.000}],
{ {cowboy_protocol,execute,4}, 0, 62.619, 0.000}, %
[{{cowboy_websocket,handler_loop,4}, 0, 62.619, 0.020}]}.
{[{{cowboy_websocket,handler_loop,4}, 1000, 62.599, 10.902}],
{ {cowboy_websocket,handler_call,7}, 1000, 62.599, 10.902}, %
[{{cowboy_websocket,'-handler_loop/4-fun-0-',4},1000, 62.588, 2.161},
{{stormpack_websocket_handler,websocket_info,3},1000, 1.757, 1.526},
{garbage_collect, 1, 0.007, 0.007}]}.
{[{{cowboy_websocket,handler_call,7}, 1000, 62.588, 2.161}],
{ {cowboy_websocket,'-handler_loop/4-fun-0-',4},1000, 62.588, 2.161}, %
[{{cowboy_websocket,handler_before_loop,4}, 1000, 62.586, 3.937}]}.
{[{{cowboy_websocket,'-handler_loop/4-fun-0-',4},1000, 62.586, 3.937}],
{ {cowboy_websocket,handler_before_loop,4}, 1000, 62.586, 3.937}, %
[{{ranch_tcp,setopts,2}, 1000, 36.582, 3.357},
{{cowboy_websocket,handler_loop,4}, 1000, 0.000, 2.490}]}.
{[{{cowboy_websocket,handler_before_loop,4}, 1000, 36.582, 3.357}],
{ {ranch_tcp,setopts,2}, 1000, 36.582, 3.357}, %
[{{inet,setopts,2}, 1000, 33.225, 1.819}]}.
{[{{ranch_tcp,setopts,2}, 1000, 33.225, 1.819}],
{ {inet,setopts,2}, 1000, 33.225, 1.819}, %
[{{prim_inet,setopts,2}, 1000, 31.406, 5.063}]}.
{[{{inet,setopts,2}, 1000, 31.406, 5.063}],
{ {prim_inet,setopts,2}, 1000, 31.406, 5.063}, %
[{{prim_inet,ctl_cmd,3}, 1000, 16.417, 3.469},
{{prim_inet,encode_opt_val,1}, 1000, 9.926, 3.949}]}.
{[{{prim_inet,setopts,2}, 1000, 16.417, 3.469}],
{ {prim_inet,ctl_cmd,3}, 1000, 16.417, 3.469}, %
[{{erlang,port_control,3}, 1000, 12.948, 10.245}]}.
{[{{prim_inet,ctl_cmd,3}, 1000, 12.948, 10.245}],
{ {erlang,port_control,3}, 1000, 12.948, 10.245}, %
[{{erts_internal,port_control,3}, 1000, 2.591, 2.591},
{garbage_collect, 11, 0.112, 0.112}]}.
{[{{prim_inet,setopts,2}, 1000, 9.926, 3.949}],
{ {prim_inet,encode_opt_val,1}, 1000, 9.926, 3.949}, %
[{{prim_inet,enc_opt_val,2}, 1000, 5.977, 4.537}]}.
{[{{prim_inet,encode_opt_val,1}, 1000, 5.977, 4.537},
{{prim_inet,enc_opt_val,2}, 1000, 0.000, 1.440}],
{ {prim_inet,enc_opt_val,2}, 2000, 5.977, 5.977}, %
[{{prim_inet,enc_opt_val,2}, 1000, 0.000, 1.440}]}.
{[{{cowboy_websocket,handler_loop,4}, 39, 4.710, 0.000}],
{ suspend, 39, 4.710, 0.000}, %
[ ]}.
{[{{erlang,port_control,3}, 1000, 2.591, 2.591}],
{ {erts_internal,port_control,3}, 1000, 2.591, 2.591}, %
[ ]}.
{[{{cowboy_websocket,handler_call,7}, 1000, 1.757, 1.526}],
{ {stormpack_websocket_handler,websocket_info,3},1000, 1.757, 1.526}, %
[{garbage_collect, 2, 0.231, 0.231}]}.
{[{{stormpack_websocket_handler,websocket_info,3}, 2, 0.231, 0.231},
{{erlang,port_control,3}, 11, 0.112, 0.112},
{{cowboy_websocket,handler_loop,4}, 3, 0.053, 0.053},
{{cowboy_websocket,handler_call,7}, 1, 0.007, 0.007}],
{ garbage_collect, 17, 0.403, 0.403}, %
[ ]}.
{[ ],
{ undefined, 0, 0.000, 0.000}, %
[{{cowboy_protocol,execute,4}, 0, 62.619, 0.000}]}.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment