LINUX.ORG.RU

История изменений

Исправление 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.

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