Сообщение Re: JSON vs BSON: очередное торжество больного воображения и от 28.11.2022 8:55
Изменено 28.11.2022 8:56 swame
Re: JSON vs BSON: очередное торжество больного воображения и
Здравствуйте, Codealot, Вы писали:
C>BSON, бинарный формат — по идее должен быть компактее и быстрее.
C>На практике, пишем простейший массив чисел:
C>
C>BSON — в 3.85 раза медленее чем JSON и файл получается в 1.6 раза больше.
C>Как, вот как можно было всё настолько изгадить?
Я в итоге в поисках компромисса между читаемостью, расширяемостью, скоростью, размерам
пришел к псевдо-JSON Формату, где записи пакуются в строку, а названия полей описываются 1 раз.
По сути, возврат к тому же CSV, но в одном файле модно описать несколько структур разного формата.
По скорости когда- то мерял, сериализация / десериализация по скорости в районе 400 Mb/c.
Но без всяких reflection.
От идеи бинарного формата давно отказался, по причинам , которые уже объяснили.
C>BSON, бинарный формат — по идее должен быть компактее и быстрее.
C>На практике, пишем простейший массив чисел:
C>
C> var data = new int[count];
C> for (var i = 0; i < data.Length; i++)
C> {
C> data[i] = i;
C> }
C> ...
C>
C>BSON — в 3.85 раза медленее чем JSON и файл получается в 1.6 раза больше.
C>Как, вот как можно было всё настолько изгадить?
Я в итоге в поисках компромисса между читаемостью, расширяемостью, скоростью, размерам
пришел к псевдо-JSON Формату, где записи пакуются в строку, а названия полей описываются 1 раз.
По сути, возврат к тому же CSV, но в одном файле модно описать несколько структур разного формата.
По скорости когда- то мерял, сериализация / десериализация по скорости в районе 400 Mb/c.
Но без всяких reflection.
От идеи бинарного формата давно отказался, по причинам , которые уже объяснили.
{
"Table": {
"Name": "Analogs",
"colCount": "7",
"rowCount": "10001"
},
"Columns": "ID,Name,Path,Tag,Min,Max,Value",
"CanWrite": "1,1,1,1,1,1,1",
"Rows": [
"0,analog_0,0,0,10,90,18",
"1,analog_1,0,1,10,90,97",
"2,analog_2,0,2,10,90,25",
"3,analog_3,0,3,10,90,81",
"4,analog_4,0,4,10,90,43",
"5,analog_5,0,5,10,90,88",
...
"9999,analog_9999,99,9999,10,90,29",
"10000,analog_10000,100,10000,10,90,10"
]
}
Re: JSON vs BSON: очередное торжество больного воображения и
Здравствуйте, Codealot, Вы писали:
C>BSON, бинарный формат — по идее должен быть компактее и быстрее.
C>На практике, пишем простейший массив чисел:
C>
C>BSON — в 3.85 раза медленее чем JSON и файл получается в 1.6 раза больше.
C>Как, вот как можно было всё настолько изгадить?
Я в итоге в поисках компромисса между читаемостью, расширяемостью, скоростью, размерам
пришел к псевдо-JSON Формату, где записи пакуются в строку, а названия полей описываются 1 раз.
По сути, возврат к тому же CSV, но в одном файле можно описать несколько структур разного формата.
По скорости когда- то мерял, сериализация / десериализация по скорости в районе 400 Mb/c.
Но без всяких reflection.
От идеи бинарного формата давно отказался, по причинам , которые уже объяснили.
C>BSON, бинарный формат — по идее должен быть компактее и быстрее.
C>На практике, пишем простейший массив чисел:
C>
C> var data = new int[count];
C> for (var i = 0; i < data.Length; i++)
C> {
C> data[i] = i;
C> }
C> ...
C>
C>BSON — в 3.85 раза медленее чем JSON и файл получается в 1.6 раза больше.
C>Как, вот как можно было всё настолько изгадить?
Я в итоге в поисках компромисса между читаемостью, расширяемостью, скоростью, размерам
пришел к псевдо-JSON Формату, где записи пакуются в строку, а названия полей описываются 1 раз.
По сути, возврат к тому же CSV, но в одном файле можно описать несколько структур разного формата.
По скорости когда- то мерял, сериализация / десериализация по скорости в районе 400 Mb/c.
Но без всяких reflection.
От идеи бинарного формата давно отказался, по причинам , которые уже объяснили.
{
"Table": {
"Name": "Analogs",
"colCount": "7",
"rowCount": "10001"
},
"Columns": "ID,Name,Path,Tag,Min,Max,Value",
"CanWrite": "1,1,1,1,1,1,1",
"Rows": [
"0,analog_0,0,0,10,90,18",
"1,analog_1,0,1,10,90,97",
"2,analog_2,0,2,10,90,25",
"3,analog_3,0,3,10,90,81",
"4,analog_4,0,4,10,90,43",
"5,analog_5,0,5,10,90,88",
...
"9999,analog_9999,99,9999,10,90,29",
"10000,analog_10000,100,10000,10,90,10"
]
}