Я разрабатываю приложение Qt для встроенной системы с ограниченной памятью. Мне нужно получить несколько мегабайт данных JSON и проанализировать их как можно быстрее и не используя слишком много памяти.
Я думал об использовании потоков:
Источник JSON (HTTP-клиент) ---> распаковщик ZIP ---> анализатор YAML ----> объекты, сопоставленные с базой данных
Данные будут поступать из сети намного медленнее, чем я смогу их разобрать.
- Сколько памяти нужно yaml-cpp для анализа 1 МБ данных?
- Я хотел бы, чтобы уже проанализированные необработанные данные из декомпрессора и внутренней памяти, используемые для этих данных парсером YAML, были выпущены, как только будет создан объект, сопоставленный с базой данных. Является ли это возможным?
- Поддерживает ли yaml-cpp асинхронный анализ? Поэтому, как только объект JSON проанализирован, я могу сохранить его в базе данных, не дожидаясь полного содержимого из источника HTTP.