I made some test with 100.000 records and json_encode still faster than making createMyModel(builder,id,.....) of every fetched row .
I'm just doing the following:
//Flatbuffer Version
$query->execute();
$builder = new \App\Http\Controllers\FlatbufferBuilder(0);
while ($row = $query->fetch()) {
MyFlatBufferGeneratedModel::createMyModel($builder,
$row['id'],
// add here about 24 extra atributes ....
);
}
$builder->dataBuffer();
return "Finish";
And:
//Json Version
$query->execute();
$result_array = [];
while ($row = $query->fetch()) {
array_push($result_array,$row);
}
json_encode($result_array);
return "Finish";
Extra notes:
- I'm using Laravel 5.3 and MySql as data source.
- Json process is taking 1.8s and Flatbuffer process like 10s