Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

hackage.haskell.org : symbolize

Symbols, also known as Atoms or Interned Strings, are a common technique to reduce memory usage and improve performance when using many small strings. By storing a single copy of each encountered string in a global table and giving out indexes to that table, it is possible to compare strings for equality in constant time, instead of linear (in string size) time. The main advantages of Symbolize over existing symbol table implementations are: Garbage collection: Symbols which are no longer used are automatically cleaned up. Symbols have a memory footprint of exactly 1 Word and are nicely unpacked by GHC. Support for any Textual type, including String, (strict and lazy) Data.Text, (strict and lazy) Data.ByteString etc. Thread-safe. Calls to lookup and unintern are free of atomic memory barriers (and never have to wait on a concurrent thread running intern) Support for a maximum of 2^64 symbols at the same time (you'll probably run out of memory before that point). Please see the full README below or on GitHub at https://github.com/Qqwy/haskell-symbolize#readme

Registry - Source - Homepage - JSON
purl: pkg:hackage/symbolize
Keywords: bsd3, data, data-structures, library
License: BSD-3-Clause
Latest release: 6 months ago
First release: 6 months ago
Dependent repositories: 1
Downloads: 59 total
Stars: 0 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 19 days ago

    Loading...
    Readme
    Loading...