{
        results.emplace_back(mark, stopwatch.elapsed());
    }
    void stop()
    {
        stopwatch.stop();
    }
    const std::vector<std::tuple<const char*, UInt64>> & getResults() const
    {
        return results;
    }
private:
    Stopwatch stopwatch;
    std::vector<std::tuple<const char*, UInt64>> results;
};
CompressionCodecPtr makeCodec(const std::string & codec_string, const DataTypePtr data_type)
{
    const std::string codec_statement = "(" + codec_string + ")";
    Tokens tokens(codec_statement.begin().base(), codec_statement.end().base());
    IParser::Pos token_iterator(tokens, 0);
    Expected expected;
    ASTPtr codec_ast;
    ParserCodec parser;
    parser.parse(token_iterator, codec_ast, expected);
    return CompressionCodecFactory::instance().get(codec_ast, data_type);
}
template <typename Timer>
void testTranscoding(Timer & timer, ICompressionCodec & codec, const CodecTestSequence & test_sequence,