Является ли сжатие линейной операцией? - PullRequest
0 голосов
/ 03 апреля 2020

Я читаю термины здесь, но я думаю, что наиболее кратким было спросить это.

Когда я говорю «линейный», я имею в виду линейный, как линейная операция в математике, т.е. f(t+p) = f(t)+f(p).

. На работе у нас есть наборы данных, которые мы храним в .h5 файлах. Мы делаем это по космическим причинам. Когда мы выполняем анализ данных и постобработку, нам нужно открыть файл .h5 и получить данные. Из-за того, как была настроена наша система, мы, к сожалению, в конечном итоге открываем этот файл .h5 несколько раз, каждый раз получая лишь небольшое подмножество таблиц. Это сложно для нашей файловой системы и вызывает очевидную производительность скриптов и сети в целом.

Интересно, не лучше ли хранить все таблицы в одном файле .h5. Возможно, разбейте его на более мелкие или даже сожмите каждую таблицу по отдельности, так что когда скрипту нужен только доступ к небольшому набору таблиц, это не займет много времени.

Мне интересно, если это произойдет с компромиссом, т. е. потеряли бы мы пространство, сжимая по отдельности? Вот почему я назвал этот пост, как я сделал. Если процесс сжатия файла является линейным, то сжатие таблиц по отдельности должно в сумме равняться сжатию одного файла, содержащего все таблицы.

Я, конечно, сомневаюсь, что сжатие является линейным, но насколько велика разница в использовании хранилища?

...