def identifier(frame):
    """ A string identifier from a frame

    Strings are cheaper to use as indexes into dicts than tuples or dicts
    """
    if frame is None:
        return 'None'
    else:
        return ';'.join((frame.f_code.co_name, frame.f_code.co_filename,
            str(frame.f_code.co_firstlineno)))
