Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/planetis-m/ssostrings

Small String Optimized (SSO) string implementation
https://github.com/planetis-m/ssostrings

datatype nim nim-lang optimization small-string-optimization sso string

Last synced: 3 months ago
JSON representation

Small String Optimized (SSO) string implementation

Awesome Lists containing this project

README

        

====================================================
Small String Optimized String
====================================================

The Small String Optimized (SSO) string data-type attempts to reduce the number
of heap allocations that happen at runtime. If a string is less than 23 bytes
on 64bit it can be stored directly in the object, avoiding a dynamic allocation.
There exist two modes for each String, a short string - and a long string mode
in which the dynamic memory is managed using Nim's destructors. The
implementation is based on clang's std::string class. This technique might
improve runtime performance and reduce fragmented memory where this is most
needed i.e. on embedded systems.