Áttekintés

Könyvtárunk lehetővé teszi a többfolyamos tömörítést bizonyos formátumok esetében. Ez lehetővé teszi az adattömörítés sebességének jelentős növelését.

A BZIP2, LZIP és XZ archívumok párhuzamosítása

A tömörítési szálak száma a megfelelő beállítási osztály "tömörítési szálak" tulajdonságán keresztül állítható be. Az alapértelmezett érték 1, így a tömörítés egyetlen szálon történik. Ha azonban egynél nagyobb értéket ad meg, az algoritmus a megfelelő számú processzormagot fogja használni

Parallel compression to BZIP2

    save_options =  zp.bzip2.Bzip2SaveOptions()
    save_options.compression_threads = 4
    with zp.bzip2.Bzip2Archive() as archive:
        archive.set_source("data.bin")
        archive.save("archive.bz2", save_options)

Parallel compression to LZIP

    # Will use 16Mb for dictionary:
    settings = zp.lzip.LzipArchiveSettings(0x1000000)
    settings.compression_threads = 4
    with zp.lzip.LzipArchive(settings) as archive:
        archive.set_source("data.bin")
        archive.save("archive.lz")

Parallel compression to XZ

    settings = zp.xz.settings.XzArchiveSettings()
    settings.compression_threads = 4
    with zp.xz.XzArchive(settings) as archive:
        archive.set_source("data.bin")
        archive.save("archive.xz")

Ezekben a példákban a Python kódrészletek hasonló műveleteket hajtanak végre az archívumok létrehozása során, csak a használt tömörítési formátumokban térnek el egymástól. Általában a következő lépéseket követik:

  • Hozzon létre egy, az archívum formátumának megfelelő beállítási objektumot.
  • Állítsa be a tömörítéshez szükséges párhuzamossági folyamok számát.
  • A rendszer létrehoz egy archív objektumot. összefüggésben, amely biztosítja az archívum automatikus bezárását a műveletek befejezése után.
  • Adja meg az archívumhoz hozzáadandó adatforrást.
  • Mentse el az archívumot a megfelelő formátumban a következővel: a konfigurált beállításokat.

LZMA2 tömörítés és többszálú feldolgozás a 7Z archívumban

Ez a példa bemutatja, hogyan hozhat létre 7z-es archívumot a data.bin fájl használatával. Az adatok hatékony tömörítéséhez LZMA2 tömörítési algoritmust használunk négy adatfolyammal.

Parallel compression to 7Z LZMA2

    compression_settings = zp.saving.SevenZipLZMA2CompressionSettings()
    compression_settings.compression_threads = 4
    entry_settings = zp.saving.SevenZipEntrySettings(compression_settings)
    with zp.sevenzip.SevenZipArchive(entry_settings) as archive:
        archive.create_entry("data.bin", "data.bin")
        archive.save("result.7z")

Ez a kód 7z-es archívumot hoz létre a data.bin fájl adatainak beolvasásával, a Bzip2, Lzip vagy XZ beállításai helyett a SevenZipLZMA2CompressionSettings használatával, valamint az LZMA2 tömörítési algoritmussal négy szál tömörítéssel. A SevenZipArchive create_entry metódusát használja a set_source metódus helyett.

Gyorsítsa fel a ZIP archiválást párhuzamos tömörítéssel

A ZIP archívum létrehozása a belépő szinten párhuzamosítható. Ehhez használja a ParallelOptions példányt és annak tulajdonságait

    parallel_opt = zp.saving.ParallelOptions()
    parallel_opt.parallel_compress_in_memory =  zp.saving.ParallelCompressionMode.AUTO
    save_opt =  zp.saving.ArchiveSaveOptions()
    save_opt.parallel_options = parallel_opt
    with zp.Archive as archive:
        archive.create_entries("~/Data")
        archive.Save("archive.zip", save_opt)

A főbb funkciók a következők:

  • A ParallelOptions használata a párhuzamos memóriatömörítés konfigurálásához.
  • Az ArchiveSaveOptions használata az általános mentési beállításokhoz.
  • A create_entries metódus használata fájlok hozzáadásához a ~/Data könyvtárat az archívumba.
A ParallelCompressionMode felsorolási értékek jelentésének jobb megértéséhez olvassa el a dokumentációt. Játsszon ezekkel az értékekkel, hogy elérje a legjobb eredményt kifejezetten az Ön céljainak és hardverkonfigurációjának megfelelően.

Egyéb támogatott Aspose.ZIP a Python.Net API-hoz

A Python.Net Aspose.ZIP könyvtárával zökkenőmentesen kezelheti a ZIP fájlokkal kapcsolatos különféle feladatokat. Legyen szó formátumok konvertálására, fájlok egyesítésére, tartalom szerkesztésére vagy adatok kibontására, az Aspose.ZIP átfogó funkcionalitást biztosít a munkafolyamat egyszerűsítéséhez és a termelékenység növeléséhez.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: