Информация об изменениях

Сообщение Re: JSON vs BSON: очередное торжество больного воображения и от 28.11.2022 8:55

Изменено 28.11.2022 8:55 swame

Re: JSON vs BSON: очередное торжество больного воображения и кривых рук
Здравствуйте, Codealot, Вы писали:

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>            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"
    ]
}