A timestamp module
Faster and easier way to get an utc timestamp than calling standard Time lib
Add this to your application's shard.yml
:
dependencies:
easy_utc_now:
github: ndudnicz/EasyUtcNow
version: 1.0.0
require "easy_utc_now"
puts EasyUtcNow.now_utc_to_unix
.now_utc_to_unix :
Int64
Returns the current utc epoch timestamp in second
.now_utc_to_unix_ms_f :
Float64
Returns the current utc epoch timestamp in msecond
.now_utc_to_unix_f :
Float64
Returns the current utc epoch timestamp in second as Float64
$> crystal -v
Crystal 1.13.1 (2024-07-12)
LLVM: 18.1.8
Default target: aarch64-apple-darwin23.5.0
$> cd bench
$> crystal build --release bench.cr
$> ./bench
Time.utc.to_unix 71.93M ( 13.90ns) (± 1.53%) 0.0B/op 1.15× slower
EasyUtcNow.now_utc_to_unix 82.46M ( 12.13ns) (± 3.96%) 0.0B/op fastest
Time.utc.to_unix_ms 58.34M ( 17.14ns) (± 2.67%) 0.0B/op 1.41× slower
EasyUtcNow.now_utc_to_unix_ms 82.19M ( 12.17ns) (± 1.26%) 0.0B/op fastest
Time.utc.to_unix_f 72.33M ( 13.83ns) (± 1.05%) 0.0B/op 1.15× slower
EasyUtcNow.now_utc_to_unix_f 83.02M ( 12.05ns) (± 1.16%) 0.0B/op fastest