name: time-cache version: 0.1 cabal-version: >=1.10 build-type: Simple license: PublicDomain license-file: COPYING copyright: ♡ Copying is an act of love. Please copy, reuse and share. maintainer: fr33domlover@riseup.net homepage: http://rel4tion.org/projects/time-cache bug-reports: mailto:fr33domlover@riseup.net synopsis: Cache current time and formatted time text description: Suppose you have an IO action which runs very frequently, and one of the things it does is getting the current @UTCTime@, possibly also formatting it into a String or Text. The action cares about the current minute, and doesn't care about seconds or milliseconds at all. Instead of reading and formatting the time many times, using this library you can keep a cache which updates every minute (or other interval) and allows your application to scale without time reading and formatting ever becoming a bottleneck. . There are 2 modules provided. I suggest you start with the monadic one, especially for simple usage, and switch to the other one if you need some custom solution. . The "Data.Time.Cache" module allows you to create a time caching action which returns time and a formatted time string. But instead of directly reading the time and running a formatter, it takes the values from a cache it periodically updates. . The "Control.Monad.Trans.Time" module provides a convenient monadic wrapper for the time cache. . If you need the time cache in multiple threads, you can create the time getter once and then pass to all the threads to share. category: System, Time author: fr33domlover extra-source-files: AUTHORS ChangeLog COPYING INSTALL.md NEWS.md README.md source-repository head type: darcs location: http://hub.darcs.net/fr33domlover/time-cache library exposed-modules: Control.Monad.Trans.Time Data.Time.Cache build-depends: auto-update >=0.1.3, base >=4.8 && <5, text >=1.2.2.0, time >=1.5.0.1, time-units >=1.0.0, transformers >=0.4.2.0 default-language: Haskell2010 hs-source-dirs: src