[erlang-questions] escript: faster startup and connect to TargetNode
Frank Muller
frank.muller.erl@REDACTED
Mon Dec 19 10:37:44 CET 2016
Sorry, hit the send button too fast.
1. Stripped down escript (no connect):
~0.150ms
2. Stripped down escript (with only connect):
~0.790ms
/Frank
Le lun. 19 déc. 2016 à 10:33, Frank Muller <frank.muller.erl@REDACTED> a
écrit :
> Hi Richard,
>
> You're right. Dropped the "native" flag and here are the measurements:
>
> 1. Stripped down escript (no connect):
> 0.15ms
>
> 2. Stripped down escript (with only connect):
> 0.79ms
>
> These confirm your assumptions. So the "connect" is where most of the time
> is spent.
>
> Q: is there another way to make the "connect" quicker (undocumented
> calls)? Or, any another way to connect to a node?
>
> Thank you !
>
> /Frank
>
> Le lun. 19 déc. 2016 à 09:51, Richard Carlsson <carlsson.richard@REDACTED>
> a écrit :
>
> You're not doing any cpu heavy work at all, so native compilation will not
> do anything for you - it might just add overhead.
>
> Measure the run time for a stripped down escript version that doesn't
> actually try to connect, to see what the actual startup time is. Most
> likely, all the time is spent in the call to connect node.
>
>
> /Richard
>
>
>
> 2016-12-19 7:17 GMT+01:00 Frank Muller <frank.muller.erl@REDACTED>:
>
> Hi everyone,
>
> I’ve an escript which connects to a TargetNode using this code (snippet
> from Basho's nodetool):
>
> https://github.com/basho/rebar/blob/develop/priv/templates/simplenode.nodetool#L34-L45
>
> %% See if the node is currently running -- if it's not, we'll bail
> case {net_kernel:hidden_connect_node(TargetNode),
> net_adm:ping(TargetNode)} of
> {true, pong} ->
> ok;
> {false,pong} ->
> io:format("Failed to connect to node ~p .\n", [TargetNode]),
> halt(1);
> {_, pang} ->
> io:format("Node ~p not responding to pings.\n", [TargetNode]),
> halt(1)
> end,
>
> It works perfectly well, but it’s kind of slow. I mean the connection is a
> bit slow to be established even it the TargetNode is running on the same
> host.
> Can we make it faster? Is there another way to connect to a TargetNoode
> without using net_kernel module?
>
> Finally, what kind of escript's options can make the startup faster in
> general?
> I found this one:
> -compile(native).
>
> Thank you
> /Frank
>
>
>
> _______________________________________________
>
>
> erlang-questions mailing list
>
>
> erlang-questions@REDACTED
>
>
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20161219/4eee4d9d/attachment.htm>
More information about the erlang-questions
mailing list