
  -spec erlang:timestamp() -> Timestamp when Timestamp :: timestamp().

Since:
  OTP 18.0

  Types:
    -type timestamp() ::
          {MegaSecs :: non_neg_integer(),
           Secs :: non_neg_integer(),
           MicroSecs :: non_neg_integer()}.

  Returns current Erlang system time on the format {MegaSecs,
  Secs, MicroSecs}. This format is the same as os:timestamp/0 and
  the deprecated erlang:now/0 use. The reason for the existence of 
  erlang:timestamp() is purely to simplify use for existing code
  that assumes this time stamp format. Current Erlang system time
  can more efficiently be retrieved in the time unit of your choice
  using erlang:system_time/1.

  The erlang:timestamp() BIF is equivalent to:

    timestamp() ->
        ErlangSystemTime = erlang:system_time(microsecond),
        MegaSecs = ErlangSystemTime div 1000_000_000_000,
        Secs = ErlangSystemTime div 1000_000 - MegaSecs*1000_000,
        MicroSecs = ErlangSystemTime rem 1000_000,
        {MegaSecs, Secs, MicroSecs}.

  It, however, uses a native implementation that does not build
  garbage on the heap and with slightly better performance.

  Note:
    This time is not a monotonically increasing time in the
    general case. For more information, see the documentation of 
    time warp modes in the User's Guide.
