지퍼 아카이브의 병렬 구성

개요

ASSPER.zip API는 ZIP 아카이브를 작성하는 기능을 제공합니다. 이러한 아카이브의 항목은 독립적으로 압축 될 수 있으므로 아카이브 생성을 어느 정도 병렬화 할 수 있습니다.

zip multithreaded : 설명

병렬 탑을 사용하여 여러 CPU 코어로 아카이브를 준비해야 함을 나타냅니다.

parally compressinmemory ( getparallelcpressinmemory/ setparallelcompressinmemory 설정은 우리가 멀티 태스킹으로 선택한 전략을 나타냅니다. 다음은 세 가지 옵션입니다.

-parallel compressionmode.never : 모든 항목의 압축은 순차적입니다. 하나의 CPU 코어 만 압축에서 작동하며 압축 데이터를 플러시합니다.

-parallel compressionMode.Always 각 CPU 코어는 동시에 압축 데이터를 RAM으로 유지하는 파일을 동시에 압축합니다. 항목이 압축되면 결과 스트림으로 플러시됩니다. RAM 금액이 작고 일부 N 항목의 총 크기 (여기서 N은 CPU 코어 수)가 크면 CLR에 사용할 수있는 모든 RAM이 소진되고 제외 상태가 발생할 수 있습니다.

-parallel compressionMode.AUTO ': 지능형 모드. CPU 코어, 크기의 항목, 사용 가능한 메모리를 추정하고 병렬 또는 순차적으로 항목을 압축할지 여부를 선택합니다. 이 모드에서는 일부 작은 항목이 병렬로 압축되는 반면 다른 작은 항목은 순차적으로 압축됩니다. 일반적으로 aspose.zip은 추정에주의를 기울이고 순차적 압축으로 전환하는 것이 경고합니다. 이 모드에는paralleloptions ‘의 속성이 하나 더 있습니다 -`availememorySize]( getAvailableMemorySize/ setAvailableMemorySize). 다른 모드는 무의미합니다. 대략적으로 말하면, 그것은 할당 된 메모리의 높은 한계이며 메가 바이트에서 모든 CPU 코어로 항목을 압축합니다. Asse.zip은 해당 숫자를 사용하여 병렬로 압축하기에 안전한 가장 큰 입구 크기를 추정합니다. 임계 값 위의 항목은 순차적으로 압축 될 것입니다. ``availemememorysize ‘‘는 양날의 칼입니다. 거대한 항목으로 너무 높이 설정되어 있으면 램 피로, 강렬한 교환을 생성 할 수 있으며 기억 예외가 발생할 수도 있습니다. 너무 낮게 설정되면 대부분의 항목은 많은 속도없이 순차적으로 압축됩니다. 따라서 정교한 사용자는 트레이드 오프를 고려하여 할당 할 수 있습니다.

일반적인 데이터에서 다른 병렬 압축 모드를 사용하여 사례에서 가장 좋은 설정을 결정하는 것이 좋습니다.

견본

 1try (fileoutputStream ZipFile =  FileOutputStream ( "archive.zip")) {
 2    try (Archive Archive = new Archive ()) {
 3        archive.createentry ( "First.bin", "data1.bin");
 4        ...
 5        archive.createentry ( "last.bin", "datan.bin");
 6        병렬  espaleptions = new Parallictions ();
 7        parallelOptions.setparallelcompressinmemory (parallel compressionMode.Always);
 8        ArchivesAveOptions 옵션 =  아카이브 aveOptions ();
 9        옵션 .setparalleloptions (병렬 탑);
10        Archive.save (zipfile, 옵션);
11    }
12} catch (ioException ex) {
13    System.out.println (예);
14}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.