标签: compression

整数序列的最佳压缩算法

我有一个大数组,其中包含大多数连续的整数,例如1-100,110-160等.所有整数都是正数.压缩它的最佳算法是什么?

我尝试了deflate算法,但这只给我50%的压缩.请注意,算法不能有损.

所有数字都是独一无二的并逐渐增加.

另外,如果你能指出我的这种算法的java实现会很棒.

compression algorithm

50
推荐指数
7
解决办法
5万
查看次数

git二进制差异算法(增量存储)是否标准化?

Git使用增量压缩来存储彼此相似的对象.

此算法是否已标准化并在其他工具中使用?是否有描述格式的文档?它与xdelta/VCDIFF/RFC 3284兼容吗?

compression git binary-diff vcdiff

50
推荐指数
3
解决办法
2万
查看次数

O(polylog(n))是什么意思?特别是polylog(n)是如何定义的?

简介:
当学术(计算机科学)论文说"O(polylog(n))"时,它们是什么意思?我不会对"Big-Oh"符号感到困惑,我非常熟悉它,而是使用polylog(n)函数.他们不是在谈论我认为的复杂分析函数Li s(Z).或者是他们?也许完全不同的东西?

更多细节:
主要是出于个人兴趣,我最近一直在查看关于压缩后缀阵列的各种论文,例如后向搜索的优点 - 高效的辅助内存和压缩后缀阵列的分布式实现.所述的计算复杂度估计有时涉及polylog(n),这是我不熟悉的函数.

维基百科给出了polylog s(z)的定义,它似乎主要是关于复杂分析和解析数论.我怀疑它与压缩文件中的polylog(n)无关,尽管我更喜欢听到知识渊博的人的其他信息.如果是这种情况,为什么省略下标是否合理?

我唯一的猜测是,O(polylog(n))可能意味着"渐近于log(n)的多项式函数".但这只是一个猜测:我没有证据证明这一点,并且它会滥用记谱法来启动.

在任何情况下,非常感谢指向合理权威定义的链接!

compression algorithm complexity-theory full-text-search

49
推荐指数
1
解决办法
2万
查看次数

如何检测文件中使用的压缩类型?(如果未指定文件扩展名)

如何检测文件上使用的压缩类型?(假设未指定.zip,.gz,.xz或任何其他扩展名).

此信息是否存储在该文件的标题中?

compression binary

49
推荐指数
3
解决办法
5万
查看次数

添加到tar存档后删除文件

GNU tar可以将多个文件添加到存档中,在添加时删除每个文件吗?

当没有足够的磁盘空间来容纳整个tar存档和原始文件时,这很有用 - 因此,在以通常方式创建存档后,无法简单地手动删除文件.

unix compression bash tar

46
推荐指数
2
解决办法
5万
查看次数

Python:减少字典的内存使用量

我正在尝试将几个文件加载到内存中.这些文件具有以下3种格式之一:

  • string TAB int
  • 字符串TAB浮点数
  • int TAB float.

实际上,它们是ngram静态文件,以防这有助于解决方案.例如:

i_love TAB 10
love_you TAB 12
Run Code Online (Sandbox Code Playgroud)

目前,我正在做的伪代码是

loadData(file):
     data = {}
     for line in file:
        first, second = line.split('\t')
        data[first] = int(second) #or float(second)

     return data
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,虽然磁盘中文件的总大小约为21 MB,但当加载到内存中时,该过程需要120 - 180 MB的内存!(整个python应用程序不会将任何其他数据加载到内存中).

只有不到10个文件,大多数文件在大约50-80k行保持稳定,除了一个目前有数百万行的文件.

所以我想要一个技术/数据结构来减少内存消耗:

  • 有关压缩技术的建议吗?
  • 如果我仍然使用dict,有没有办法减少内存?是否可以像Java dict中那样设置"加载因子"?
  • 如果你有其他一些数据结构,我也愿意交换一些速度来减少内存.然而,这是一个时间敏感的应用程序,所以一旦用户输入他们的查询,我认为花费超过几秒钟来返回结果是不太合理的.关于这一点,我仍然惊讶于谷歌如何设法如此快速地进行谷歌翻译:他们必须使用大量技术+大量服务器的力量?

非常感谢你.我期待着你的建议.

python memory compression dictionary n-gram

45
推荐指数
4
解决办法
4万
查看次数

为什么base64编码的数据压缩如此糟糕?

我最近压缩了一些文件,我注意到base64编码的数据似乎压缩得非常糟糕.这是一个例子:

  • 原始档案:429,7 MiB
  • 压缩通过xz -9:
    13,2 MiB / 429,7 MiB = 0,031 4,9 MiB/s 1:28
  • base64它并压缩通过xz -9:
    26,7 MiB / 580,4 MiB = 0,046 2,6 MiB/s 3:47
  • base64原始压缩的xz文件:
    17,8 MiB几乎没有时间=预期1.33x的大小增加

所以可以观察到的是:

  • xz压缩真的很好☺
  • base64编码的数据压缩不好,比未编码的压缩文件大2倍
  • base64-then-compresscompress-then-base64明显更差,更慢

怎么会这样?Base64是一种无损,可逆的算法,为什么它会如此影响压缩呢?(我也试过gzip,结果相似).

我知道base64然后压缩文件是没有意义的,但大多数时候一个人无法控制输入文件,我会想到,因为实际的信息密度(或任何它被称为base64编码文件的几乎与非编码版本相同,因此可以类似地压缩.

compression lossless-compression

45
推荐指数
2
解决办法
3万
查看次数

优化(删除冗余和合并)CSS的工具?

我正在寻找一个好的CSS压缩,合并和优化工具.我找到了清理CSS的工具,但是他们没有优化覆盖.

这是一个基本的例子:

a{color:#000}

在另一条线上,a颜色被覆盖:

a{color:#fff}

有没有人知道一个工具,可以清理未使用的CSS,被覆盖并保持应用的风格?

css compression minify yui-compressor

44
推荐指数
1
解决办法
4万
查看次数

用于缩小CSS的Python脚本?

我正在寻找一个简单的Python脚本,可以将CSS缩小为网站部署过程的一部分.(Python是服务器上唯一支持的脚本语言,像CSS Utils这样的完整解析器对于这个项目来说太过分了).

基本上我喜欢CSS的jsmin.py.单个脚本没有依赖项.

有任何想法吗?

css python compression minify

43
推荐指数
2
解决办法
1万
查看次数

tinypng.org如何压缩PNG文件?

http://tinypng.org/是一项很棒的服务,他们优化了我的png图像约67%.他们的服务如何运作?它们如何最小化图片的尺寸和质量仍然保持不变?

compression png

42
推荐指数
1
解决办法
2万
查看次数