Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.os.linux.ubuntu    |    I preferred Xubuntu, seemed a bit faster    |    134,474 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 132,729 of 134,474    |
|    Sativa GNutella to All    |
|    Re:Why Snaps are slow. From technical vi    |
|    31 Aug 22 23:13:12    |
      From: Sativa@tella.com              Why LZO was chosen as the new compression method              by Ian Johnson on 23 December 2020       Everyone wants fast applications. Recently, we provided a        mechanism to make snap applications launch faster by using the        LZO format. We introduced this change because users reported        desktop snaps starting more slowly than the same applications        distributed via traditional, native Linux packaging formats like        Deb or RPM.       After a thorough investigation, we pinpointed the compression        method as the primary slowdown. Once we introduced the change,        some users started wondering why we chose LZO as the new        compression method for snaps, given that there are ?better?        algorithms available. Here, we want to take you through the        journey of understanding why we picked LZO, and what is next for        the snap compression story.              The old way              Previously, the only supported compression format for snaps was        XZ. This decision was borne out of two main determining factors:        compatibility and size. One of the primary delivery targets for        snaps (in addition to desktop users) is IoT devices, and so for        those, we wanted to have the smallest possible size.        Additionally, cross-distro support is very important with snaps,        and so we also wanted to make sure that the compression format        chosen would be compatible with the widest range of kernels. In        both cases, the XZ method fit the bill nicely. Additionally, at        the time the decision was made, some of the new algorithms such        as ZSTD were not even in existence.       It?s important to mention a few overarching design goals of snaps        before we go much further. The first thing is the choice of        squashfs as the packaging mechanism ? instead of distributing        individual files as tarballs, etc. We wanted both determinism and        ease of deployment whereby all users of a snap get the same        files, and those files are not modifiable (by the user). To        satisfy both goals, we selected squashfs, which is a compressed        filesystem format that is mounted read-only.        Orthogonal to that goal was package integrity. It was crucial to        have a design where the files that were delivered to users were        cryptographically verified, as well. We wanted a system where the        bits that make up the .snap file are uploaded to the store by a        snap developer, and those same exact bits are delivered to the        user without modification. A delta upload/download functionality        is used to save on network bandwidth, but that merely        reconstructs the original exact bits that the snap developer        uploaded to the store. Therefore, we aren?t able to recompress        the snap either on the user?s computer or on our servers as that        would change the snap files. As such the snap that is uploaded        can currently only be uploaded and distributed with a single        compression setting.              Why we needed to switch              When we started looking into why desktop applications packaged as        snaps were slower, we explored multiple hypotheses, and we        focused on the difference in startup times between the various        packaging formats. For example, here is a graph created at the        start of these explorations, demonstrating how many milliseconds        it takes to launch a snap application vs the same application        packaged natively:              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca