История изменений
Исправление qnikst, (текущая версия) :
а). зависимость от fs, ограничение на размер из-за fs, ограничение на размер данных из-за разрядности,
б). отсуствие полноценного API, отсутсвие проверок в коде, при их появлении реализация сильно усложнится.
в). отсутсвие уточнения того, какой итоговой интерфейс (язык рантайм) нужен автору.
г). в случае если требуется более адекватное управление используемой памятью придётся переусложнять задачу.
Данное решение является адекватным если:
а). данные только добавляются и достается полная матрица (размер матриц константа);
б). пользователь будет использовать С; (ну или использовать аналог в другом языке)
в). библиотека не будет расширяться.
Т.е. это является преждевременной отпимизацией (это под вопросом кстати) и урезанием функционала так может сделать или кодер или программист полностью знакомый с задачей (не с ТЗ а с задачей).
В большей части случаев гораздо логичнее и проще использовать готовое решение: например sqlite хранить матрицы в таблице {Id::Int,data::Date,matrix::blob}, где в blob хранится сериализованное представление целевого языка ну или просто C-массив float.
Если данное решение будет работать слишком медленно/жрать много памяти, то нужно уже смотреть, что тупит и как все исправлять исходя из этого.
Исходная версия qnikst, :
а). зависимость от fs, ограничение на размер из-за fs, ограничение на размер данных из-за разрядности,
б). отсуствие полноценного API, отсутсвие проверок в коде, при их появлении реализация сильно усложнится.
в). отсутсвие уточнения того, какой итоговой интерфейс (язык рантайм) нужен автору.
г). в случае если требуется более адекватное управление используемой памятью придётся переусложнять задачу.
Данное решение является адекватным если:
а). данные только добавляются и достается полная матрица;
б). пользователь будет использовать С; (ну или использовать аналог в другом языке)
в). библиотека не будет расширяться.
Т.е. это является преждевременной отпимизацией (это под вопросом кстати) и урезанием функционала так может сделать или кодер или программист полностью знакомый с задачей (не с ТЗ а с задачей).
В большей части случаев гораздо логичнее и проще использовать готовое решение: например sqlite хранить матрицы в таблице {Id::Int,data::Date,matrix::blob}, где в blob хранится сериализованное представление целевого языка ну или просто C-массив float.
Если данное решение будет работать слишком медленно/жрать много памяти, то нужно уже смотреть, что тупит и как все исправлять исходя из этого.