社交|Facebook展示Superpack压缩技术:主Facebook应用容量已缩减40%以上

【社交|Facebook展示Superpack压缩技术:主Facebook应用容量已缩减40%以上】过去两年多时间里,Facebook 公司的软件团队一直在研究压缩应用程序代码的方法,以期使应用程序的大小更易于管理 。经过不懈努力,团队今天终于介绍了名为 Superpack 的新技术成果 。

社交|Facebook展示Superpack压缩技术:主Facebook应用容量已缩减40%以上
文章图片

Facebook Engineering 今天更新的长博文中,Facebook 软件工程师 Sapan Bhatia 谈到了管理应用程序大小的独特挑战 。他解释说,Facebook 的开发人员不断向该公司的移动应用添加新的代码,包括 Facebook 应用、Messenger、WhatsApp 和 Instagram 。
他说:“每天,开发人员都会签入大量的代码,每一行代码都会转化为人们最终下载到手机上的应用程序中的额外容量 。如果不加以检查,这些增加的代码将使应用程序越来越大,直到最后它的下载时间变得不可接受” 。

社交|Facebook展示Superpack压缩技术:主Facebook应用容量已缩减40%以上
文章图片

Facebook的应用程序开发人员已经采用了一堆数据压缩技术,但该公司表示,这些方法无法跟上它增加新功能和更新的速度 。因此,在过去的两年里,Facebook 的团队一直在研究 Superpack 技术,它声称该技术已经能够实现比现有工具“明显更好”的压缩率 。

社交|Facebook展示Superpack压缩技术:主Facebook应用容量已缩减40%以上
文章图片

Bhatia 表示,Superpack 的优势在于它能够压缩特定类型的代码,如机器码和字节码,以及某些种类的结构化数据 。他解释说,Superpack 的基本底层方法是基于对 Kolmogorov 的复杂性算法衡量的见解,它将一块数据的信息含量定义为能够生成该数据的最短程序的长度 。这意味着有可能通过将其表示为生成该数据的程序来压缩数据,而不是压缩信息本身 。

社交|Facebook展示Superpack压缩技术:主Facebook应用容量已缩减40%以上
文章图片

他写道:“当该数据是代码开始时,那么它可以被转化为具有更小的压缩表示的数据 。一个生成斐波那契数的程序加上一个索引列表,就是一个包含这种数字的文件的高度压缩表示” 。他补充说,减少 Kolmogorov 复杂性的想法在数据压缩领域并不是一个新的想法 。新的是,Superpack 采用了编译器方法与现代压缩技术的结合来实现这一目标 。

社交|Facebook展示Superpack压缩技术:主Facebook应用容量已缩减40%以上
文章图片

Bhatia 说,在过去的几年里,Facebook 已经采用了 Superpack 来控制开发者引起的应用程序的容量增长,实际上已经设法减少了其 Android 应用程序的大小 。Bhatia写道,“与普通的 Android APK 压缩相比,应用程序的平均大小减少了约20%” 。

推荐阅读