NAME
    namespace::clean::xs - Keep imports and functions out of your namespace,
    in XS

SYNOPSIS
        use namespace::clean::xs; # be lean and mean

DESCRIPTION
    This module is a much faster (~30x) version of namespace::clean module.
    namespace::clean spends approximately 1ms per module, so it can
    significantly impact startup time for a large codebase. This module
    tries to be a drop-in replacement for it.

    See namespace::clean for the complete description of this module's
    logic.

COMPABILITY
    All methods from namespace::clean are implemented in
    namespace::clean::xs, but individual functions have the following
    differences:

    "get_class_store"
        Structure of the returned hash is the same, but it has nothing to do
        with the internal storage. Modifications of it are in vain.

        While namespace::clean saves this info forever, this module deletes
        it after namespace cleanup is done.

    "get_functions"
        In the returned hash function stubs and constants are not expanded.
        While you can still call the latter and can't call the former, you
        may get different error messages.

    "unimport"
        Will croak on unrecognized options.

    "import"
        Will croak on unrecognized options.

        This module tries to minimize memory impact after it's usage, so it
        won't expand constant/stub functions to full globs (unlike what
        namespace::clean does). It also removes symbols without data from
        the package completely.

SEE ALSO
    *   namespace::clean

    *   namespace::clean::xs::all

COPYRIGHT AND LICENSE
    Copyright (C) 2016-2017 by Sergey Aleynikov

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself, either Perl version 5.10.1 or, at
    your option, any later version of Perl 5 you may have available.

