fast 0.3.2

A library that aims to provide the fastest possible implementation of some every day routines.


To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

fast

This library aims to provide the fastest possible implementation of some every day routines.

The contained functions avoid GC allocations and input validation. They may use SSE or stack allocations to reach a high throughput so that in some cases a 20 fold speed increase can be achieved.

Benchmark

A benchmark is included and can be run through dub, e.g.:

dub --build=release --compiler=gdc

Examples
Read JSON file with coordinates.
struct Coord { double x, y, z; }

void main()
{
    import fast.json;
    auto coords = json.coordinates.read!(Coord[]);
}
SSE3 accelerated splitting around '/' and ''
string rest = pathname
string element;

import fast.string;
while (rest.split!`or(=\,=/)`(element, rest))
{
    // `element' is now the next directory.
    // `rest' is what remains after the \ or /.
}
// `element` is now the file name part of the path.
Calling Windows API functions.
void createHardlink(string from, string to)
{
    import fast.cstring : wcharPtr;
    CreateHardLinkW(wcharPtr!to, wcharPtr!from, null);
}
Calling Linux API functions.
void createHardlink(string from, string to)
{
    import fast.cstring : charPtr;
    link(charPtr!from, charPtr!to);
}
Authors:
Marco Leise
Dependencies:
none
Versions:
0.3.2 2017-Jul-05
0.3.1 2015-Nov-17
0.3.0 2015-Oct-12
0.2.1 2015-May-20
0.1.0 2013-Jul-08
Show all 6 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 2 downloads this month

  • 1635 downloads total