[erlang-questions] escript: faster startup and connect to TargetNode

Frank Muller frank.muller.erl@REDACTED
Mon Dec 19 10:33:51 CET 2016


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/e8a978eb/attachment.htm>


More information about the erlang-questions mailing list