Сериализация структур данных JavaScript для SQLite - PullRequest
0 голосов
/ 10 сентября 2009

Моя цель - сериализовать собственные типы данных JavaScript для хранения в базе данных SQLite. Я делаю это в рамках расширения Firefox, и поэтому у меня есть доступ к API XPCOM платформы Mozilla. Сначала я думал, что проще всего будет просто хранить строки JSON.

Однако, если есть способ сериализации собственных типов данных на платформе Mozilla, я хотел бы знать, где я могу его найти. И если это возможно, какой экономии места на диске я могу ожидать для дополнительной работы (если таковая имеется) и будут ли затраты на производительность по сравнению с JSON?

Конечно, выгоды от хранения данных в двоичном формате могут не перевешивать простоту использования JSON. Есть предложения?

1 Ответ

1 голос
/ 10 сентября 2009

Firefox 3.5+ имеет встроенную кодировку / декодирование JSON , что быстрее, чем декодирование JSON в Javascript-движке, согласно Википедии .

Учитывая последствия быстрой (де) сериализации в FF3.5 +, я бы сказал, что вы также можете придерживаться строк JSON. Этот способ также будет практически кросс-платформенным, если вам когда-нибудь понадобится проверить БД с другого языка / платформы.

Что касается издержек на строку, если вы удалите ненужные пробелы, вы посмотрите на издержки на несколько скобок, несколько кавычек, несколько запятых / двоеточий и стоимость хранения числа в виде строки вместо родного формата. Если это не является узким местом в вашем приложении, дополнительная простота использования простых строк JSON, похоже, того стоит.

...