def jpath_parse_c(jpath):
    """
    Caching variant of :py:func:`jpath_parse` function. Same arguments and return
    value.

    For performance reasons thee is no copying and all returned values are
    references to internal cache. Treat the returned values as read only, or
    suffer the consequences.
    """
    if not jpath in _JPATH_CACHE:
        _JPATH_CACHE[jpath] = jpath_parse(jpath)
    return _JPATH_CACHE[jpath]