gfc-time


License

License

GroupId

GroupId

org.gfccollective
ArtifactId

ArtifactId

gfc-time_2.13
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

gfc-time
gfc-time
Project URL

Project URL

https://github.com/gfc-collective/gfc-time
Project Organization

Project Organization

org.gfccollective
Source Code Management

Source Code Management

https://github.com/gfc-collective/gfc-time

Download gfc-time_2.13

How to add to project

<!-- https://jarcasting.com/artifacts/org.gfccollective/gfc-time_2.13/ -->
<dependency>
    <groupId>org.gfccollective</groupId>
    <artifactId>gfc-time_2.13</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.gfccollective/gfc-time_2.13/
implementation 'org.gfccollective:gfc-time_2.13:1.0.0'
// https://jarcasting.com/artifacts/org.gfccollective/gfc-time_2.13/
implementation ("org.gfccollective:gfc-time_2.13:1.0.0")
'org.gfccollective:gfc-time_2.13:jar:1.0.0'
<dependency org="org.gfccollective" name="gfc-time_2.13" rev="1.0.0">
  <artifact name="gfc-time_2.13" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.gfccollective', module='gfc-time_2.13', version='1.0.0')
)
libraryDependencies += "org.gfccollective" % "gfc-time_2.13" % "1.0.0"
[org.gfccollective/gfc-time_2.13 "1.0.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.13.1

test (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.13 jar 3.1.0

Project Modules

There are no modules declared in this project.

gfc-time Maven Central Build Status Coverage Status

A library that contains time related scala utility classes. A fork and new home of the now unmaintained Gilt Foundation Classes (com.gilt.gfc), now called the GFC Collective, maintained by some of the original authors.

Getting gfc-time

The latest version is 1.0.0, released on 21/Jan/2020 and cross-built against Scala 2.12.x and 2.13.x.

If you're using SBT, add the following line to your build file:

libraryDependencies += "org.gfccollective" %% "gfc-time" % "1.0.0"

For Maven and other build tools, you can visit search.maven.org. (This search will also list other available libraries from the GFC Collective.)

Contents and Example Usage

org.gfccollective.time.Timer

Various utilities for timing & reporting on blocks of code and scala Futures.

  • Format a nanosecond timespan into a human-readable string, like "37 us" or "45 days 08:55:01".

    val start = System.nanoTime() doSomething() val elapsed = Timer.pretty(System.nanoTime() - start) println(s"doSomething() took $elapsed")

  • Report ns result (Long value)

    val result = Timer.time(l => println(s"Operation took $l ns")) { // timed function, returning a result }

  • Report formatted result. The result String is using the best suitable time unit (e.g. "10 ns", "456 ms", "45 days 08:55:01" etc.)

    val result = Timer.time(s => println(s"Operation took ${s}")) { // timed function, returning a result }

  • Time the body, then calls pretty on the elapsed time to get a more human-friendly time String, then passes that to the "format" method.

    val result = Timer.time("Operation took %s", println _)) { // timed function, returning a result }

  • Similar functions as above are available to time scala Future completions.

org.gfccollective.time.Timestamp

A immutable lightweight wrapper around a millisecond timestamp.

License

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

org.gfccollective

The GFC Collective

The new home of the (former) Gilt Foundation Classes

Versions

Version
1.0.0