summaryrefslogtreecommitdiff
path: root/json/twitter_json_benchmark.cpp
blob: b89753d54482b9c7998de15def62e993f43e2e2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <forstio/codec/json/json.hpp>

#include <chrono>
#include <iostream>

#include "twitter_json_schema.hpp"
#include "twitter_json_data.hpp"

int main(){
	using namespace saw;

	data<sch::TwtrStruct> twit_data;
	auto start = std::chrono::steady_clock::now();
	{
		data<sch::TwtrStruct, encode::Json> json_data{twitter_json_data};
		codec<sch::TwtrStruct,encode::Json> json_codec;
		auto eov = json_codec.decode(json_data, twit_data);
		if(eov.is_error()){
			auto& err = eov.get_error();
			std::cerr<<"[Error] "<<err.get_category()<<" - "<<err.get_message()<<std::endl;
			return -1;
		}
	}
	auto stop = std::chrono::steady_clock::now();


	std::cout<<"Benchmark\n";
	std::cout<<"=========\n";


	std::cout<<std::endl;
	return 0;
}