Metadata-Version: 1.0
Name: breaking-point
Version: 0.1.0
Summary: breaking-point.py helps to find a size of input data where one function starts outperform another function. It is a convenient way to compare different algorithms for a single task.
Home-page: https://github.com/dizballanze/breaking-point
Author: Yuri Shikanov
Author-email: dizballanze@gmail.com
License: MIT
Description: breaking-point.py
        ==========
        
        breaking-point.py helps to find a size of input data where one function starts outperform another function. It is a convenient way to compare different algorithms for a single task.
        
        INSTALLATION
        ------------
        
        ::
            
            pip install breaking-point
        
        
        USAGE
        -----
        
        .. code:: python
        
            from breaking_point import find_breaking_point
        
            find_breaking_point(f1, f2, input_generator, start=1, step=1, limit=1000000, trial_count=1000, repeat_count=3)
        
        there 
        
        -  ``f1``, ``f2`` - functions to compare.
        -  ``inpurt_generator`` - function that takes ``n`` argument (size of input on current iteration) and returns input data for ``f1`` and ``f2``. Return value should be a tuple with first element - list of non-keyworded arguments and second element - dict of keyword arguments.
        -  ``start`` - initial input data size.
        -  ``step`` - step of iteration.
        -  ``limit`` - maximum amount of input data. If breaking point was not found until limit was reached - iteration stops.
        -  ``trial_count`` - number of executions with each input data size.
        -  ``repeat_count`` - repeat trial several times and use average performance result.
        
        Function returns ``n0`` - size of input data for which ``f2(n0)`` executed faster than  ``f1(n0)`` or ``None`` if reaches limit.
        
        
        EXAMPLE
        -------
        
        See ``example.py``.
        
        
        LICENSE
        -------
        
        MIT
        
Platform: UNKNOWN
