<div dir="ltr">I noted afterwards that I hadn't cc:ed the list in my reply:<div><br></div><div><div dir="ltr" class="gmail_attr" style="display:block">On Tue, Sep 7, 2021 at 8:50 AM Ulf Wiger <<a href="mailto:ulf@wiger.net">ulf@wiger.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Yes, operations documented as monotonic are performed atomically by the VM to ensure the property, allowing the monotonic clock to drift up to 1 ms relative to 'actual' time See erts/emulator/erl_time_sup.c.<div><br></div><div>If not documented as monotonic, you should not assume that it is.</div><div><br></div><div>BR,</div><div>Ulf W </div></div></blockquote></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 7, 2021 at 9:20 AM Frank Muller <<a href="mailto:frank.muller.erl@gmail.com">frank.muller.erl@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Crystal clear guys. Thank you so much</div><div dir="auto"><br></div><div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>It is not strictly monotonic, see the note: <br>
<a href="https://erlang.org/doc/man/erlang.html#monotonic_time-0" rel="noreferrer" target="_blank">https://erlang.org/doc/man/erlang.html#monotonic_time-0</a><br>
<br>
Also see this if you need ordered events:<br>
<a href="https://erlang.org/doc/apps/erts/time_correction.html#Dos_and_Donts_Determine_Order_of_Events_With_Time_of_the_Event" rel="noreferrer" target="_blank">https://erlang.org/doc/apps/erts/time_correction.html#Dos_and_Donts_Determine_Order_of_Events_With_Time_of_the_Event</a><br>
<br>
Cheers,<br>
<br>
On 07/09/2021 08:27, Frank Muller wrote:<br>
> Hi Everyone<br>
> <br>
> Yesterday, a Java developer told me that getting unique timestamps is <br>
> only guaranteed to be possible between COREs on the same CPU. Stated <br>
> otherwise, two processes on two different CPUs could get the same timestamp.<br>
> <br>
> I’m now wondering if calls to “erlang:system_time/1” are strictly <br>
> monotonic <br>
> (<a href="https://erlang.org/doc/apps/erts/time_correction.html#strictly-monotonically-increasing" rel="noreferrer" target="_blank">https://erlang.org/doc/apps/erts/time_correction.html#strictly-monotonically-increasing</a>) <br>
> between Erlang processes on the same scheduler, and even between Erlang <br>
> processes on different schedulers.<br>
> <br>
> Can anyone clarify please?<br>
> <br>
> /Frank<br>
<br>
-- <br>
Loïc Hoguin<br>
<a href="https://ninenines.eu" rel="noreferrer" target="_blank">https://ninenines.eu</a><br>
</blockquote></div></div>
</blockquote></div>