рдЬрд╛рд╡рд╛: рдкрд░реАрдХреНрд╖рдг рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо - 16 рдлрд╛рдЗрд▓реЗрдВ, 5 рдкреНрд░рдХрд╛рд░

рдирдорд╕реНрдХрд╛рд░ "HabraCommunity"!
рдореИрдВ рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВред
рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдореИрдВ рдХреИрдЯ рдХреЗ рддрд╣рдд рдкреВрдЫрддрд╛ рд╣реВрдВ, рдХрд┐рд╕рд╕реЗ рдирд╣реАрдВ - рдорд╛рдЗрдирд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдФрд░ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд┐рд╖рдп рдПрдХ рд╣рдмрд▓ рдХреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ - рдореИрдВ рдорд╕реМрджрд╛ рдкреНрд░рддрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рдХрд╛рд▓ рджреВрдВрдЧрд╛ред

рддреЛ:










рдкреНрд▓реЗрдЯ, рдХреНрдпрд╛ рдФрд░ рдХрд┐рддрдиреА рдмрд╛рд░ рдЪрд▓рд╛рдИ рдЧрдИ:

Steria.LZH 100
java.util.zip.GZIP (рдзрд╛рд░рд╛) 1000
java.util.zip.Deflater.BEST_COMPRESSION (рдмреНрд▓реЙрдХ) 1000
java.util.zip.Deflater.BEST_SPEED (рдмреНрд▓реЙрдХ) 1000
java.util.zip.Deflater.HUFFMAN_ONLY (рдмреНрд▓реЙрдХ) 1000
apache.commons.compress.BZIP2 (рд╕реНрдЯреНрд░реАрдо) 10
apache.commons.compress.GZIP (рдзрд╛рд░рд╛) 1000
apache.commons.compress.XZ (рд╕реНрдЯреНрд░реАрдо) 10
com.ning.LZF (рдмреНрд▓реЙрдХ) 1000
com.ning.LZF (рдзрд╛рд░рд╛) 10
рдХреНрд╡рд┐рдХрдПрд▓рдЬреЗрдб (рдмреНрд▓реЙрдХ) 1000
org.xerial.snappy.Snappy (рдмреНрд▓реЙрдХ) 1000

рдЗрд╕ рддрд░рд╣ рдорд╛рдк рдХрд┐рдП рдЧрдПред

рдХреЛрдб рдореЗрд░реА рд░рдЪрдирд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЕрдкрдиреА рд╢реИрд▓реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рд╡рд╛рд▓ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдЬреНрдпрд╛рджрд╛ рдЪрд░реНрдЪрд╛ рдордд рдХрд░реЛред

рд╕рдордп: рдкреНрд░рддреНрдпреЗрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди) рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдПрдХ рдлрд╛рдЗрд▓ рдпрд╛ рдмрд╛рдЗрдЯ рдХреЗ рддрд░реНрдХ рдпрд╛ рдкрде рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдФрд░ рдкрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ []ред

start = System.nanoTime(); byte[] compressedArray = compressor.compressing(arrayToCompress); end = System.nanoTime(); resultTime = end - start; start = System.nanoTime(); compressor.compressing(fileToCompress); end = System.nanoTime(); resultTime = end - start; 


рдорд╛рдк рдиреНрдпреВрдирддрдо рд╕рдордп [ms], рдФрд╕рдд рд╕рдордп [ms], рдФрд╕рдд рд╕рдордп [ms], рдЕрдзрд┐рдХрддрдо рд╕рдордп [ms]: ArrayList рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рднреА рдорд╛рдкрд╛ рд╕рдордп рдорд╛рди рдорд┐рд▓реЗред

 private void minMaxMedianAverCalculation(int element) { ResultsSaver resultsSaver = (ResultsSaver) compressorsResults.get(activeTest); ArrayList<Long> elementsList = new ArrayList<Long>(); for (int i = 0; i < TEST_COUNT; i++) { long timeElement = resultsSaver.getNanoSecondsTime(i, element); elementsList.add(timeElement); } Collections.sort(elementsList); this.min = (elementsList.get(0)) / 1000000; this.max = (elementsList.get(elementsList.size() - 1)) / 1000000; int elementsListLength = elementsList.size(); if (elementsListLength % 2 == 0) { int m1 = (elementsListLength - 1) / 2; int m2 = m1 + 1; this.median = ((elementsList.get(m1) + elementsList.get(m2)) / 2) / 1000000; } else { int m = elementsListLength / 2; this.median = elementsList.get(m) / 1000000; } long totalTime = 0; for (int i = 0; i < elementsListLength; i++) { totalTime += elementsList.get(i); } this.average = (totalTime / TEST_COUNT)/1000000; } 


рд╕реНрдЯреНрд░реАрдо рд╕рдВрдкреАрдбрд╝рди рджрд░ рдорд╛рдк:

 private void setStreamCompressionRatio(String toCompressFileName, String compressedFileName) { ResultsSaver resultsSaver = (ResultsSaver) compressorsResults.get(activeTest); File fileToCompress = new File(toCompressFileName); long fileToCompressSize = fileToCompress.length(); File compressedFile = new File(compressedFileName); long compressedFileSize = compressedFile.length(); double compressPercent = Math.round(((double) compressedFileSize * 100) / fileToCompressSize * 100) / 100.0d; resultsSaver.setCompressionRatio(compressPercent); } 


рдмреНрд▓реЙрдХ рд╕рдВрдкреАрдбрд╝рди рджрд░ рдорд╛рдк:

 private void setBlockCompressionRatio(byte[] arrayToCompress, byte[] compressedArray) { ResultsSaver resultsSaver = (ResultsSaver) compressorsResults.get(activeTest); long arrayToCompressSize = arrayToCompress.length; long compressedArraySize = compressedArray.length; double compressPercent = Math.round(((double) compressedArraySize * 100) / arrayToCompressSize * 100) / 100.0d; resultsSaver.setCompressionRatio(compressPercent); } 


рдХреНрдпрд╛ рд╕рдВрдХреБрдЪрд┐рдд рдерд╛:

TextDat_1Kb.txt рдХреБрдЫ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦ рдХрд╛ рд╕рд╛рджрд╛ рдкрд╛рда рд╣реИред
TextDat_100Kb.txt - рдХреБрдЫ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦреЛрдВ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдкрд╛рдаред
TextDat_1000Kb.txt - рдХреБрдЫ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦреЛрдВ (рдЕрдВрдЧреНрд░реЗрдЬреА, рдЬрд░реНрдорди, рд╕реНрдкреЗрдирд┐рд╢ ..) рдХрд╛ рдПрдХ рд╕рд░рд▓ рдкрд╛рдаред
PdfDat_200Kb.pdf - * .doc рдХреЗ рд░реВрдк рдореЗрдВ рд╣реА рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдФрд░ рдлрд┐рдЯред
PdfDat_1000Kb.pdf - * .doc рдХреЗ рд░реВрдк рдореЗрдВ рд╣реА рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдФрд░ рдлрд┐рдЯред
PdfDat_2000Kb.pdf - * .doc рдХреЗ рд░реВрдк рдореЗрдВ рд╣реА рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдФрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдЖрдХрд╛рд░ред
HtmlDat_10Kb.htm - рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдкрд╛рда, рдлрд┐рд░ рд╕реНрд╡рд░реВрдкрд┐рдд htmlред
HtmlDat_100Kb.htm - рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдкрд╛рда, рдлрд┐рд░ HTML рд╕реНрд╡рд░реВрдкрд┐рддред
HtmlDat_1000Kb.htm - рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХреБрдЫ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдкрд╛рда, рдлрд┐рд░ HTML рд╕реНрд╡рд░реВрдкрд┐рддред
ExcelDat_200Kb.xls - рдПрдХреНрд╕реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ () рд╕реЗ 0 рд╕реЗ 1 рддрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
ExcelDat_1000Kb.xls - 0 рд╕реЗ 1 рддрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ () рдХреЗ рд╕рд╛рде рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
ExcelDat_2000Kb.xls - рдПрдХреНрд╕реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ () рджреНрд╡рд╛рд░рд╛ 0 рд╕реЗ 1 рддрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
DocDat_500Kb.doc - рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдХрдИ рдЪрд┐рддреНрд░ (рдЕрдВрдЧреНрд░реЗрдЬреА, рдЬрд░реНрдорди, рд╕реНрдкреИрдирд┐рд╢ ..) рдХреЗ рд▓реЗрдЦреЛрдВ рдХрд╛ рдкрд╛рдаред
DocDat_1000Kb.doc - рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдХрдИ рдЪрд┐рддреНрд░реЛрдВ (рдЕрдВрдЧреНрд░реЗрдЬреА, рдЬрд░реНрдорди, рд╕реНрдкреЗрдирд┐рд╢ ..) рдХреЗ рд▓реЗрдЦреЛрдВ рдХрд╛ рдкрд╛рдаред
DocDat_2000Kb.doc - рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдХрдИ рдЪрд┐рддреНрд░реЛрдВ (рдЕрдВрдЧреНрд░реЗрдЬреА, рдЬрд░реНрдорди, рд╕реНрдкреЗрдирд┐рд╢ ..) рдХреЗ рд▓реЗрдЦреЛрдВ рдХрд╛ рдкрд╛рдаред
HtmDat_30000Kb.htm - рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реНрд╡рд░реВрдкрд┐рдд рдкрд╛рда рдФрд░ рддрд╛рд▓рд┐рдХрд╛рдПрдБред

III, рдкрд░рд┐рдгрд╛рдо: habrastorage.org - рдРрд╕реА рддрд╕реНрд╡реАрд░реЗрдВ рдЬрд╛рд░реА рдХреА рдЧрдИрдВ, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ 1800 * 615 рдЖрдХрд╛рд░ рдХреА рд╣реИрдВ, рдХреНрдпрд╛ рдХреЛрдИ рдпрд╣ рдЬрд╛рди рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╡реГрджреНрдзрд┐ рдХреИрд╕реЗ рдХреА рдЬрд╛рдП?






...

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдХрд┐рдпрд╛, рд╕рд╣реА рдирд╣реАрдВ - рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрд┐рдпрд╛! рдЬрд┐рд╕ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЖрд▓реЛрдЪрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ! рдлреИрд▓ рдЧрдпрд╛ - рд╢рд╛рдпрдж рдХреЛрдИ рдХрд╛рдо рдЖрдПрдЧрд╛ред

рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рдЕрдЬреАрдм рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдРрд╕реА рд╕рдВрдЦреНрдпрд╛рдПрдВ рдирд┐рдХрд▓реАрдВ, рдФрд░ рдлрд┐рд░ рдЯреИрдмрд▓реЗрдЯ рдкрд░ рджрд░реНрдЬ рд╣реБрдИрдВред

рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХреНрд╕реЗрд▓ рдЯреЗрдмрд▓ рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рддрд╕реНрд╡реАрд░реЗрдВ рдЦреАрдВрдЪрддрд╛ рд╣реВрдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдПрдХреНрд╕реЗрд▓ рдлрд╛рдЗрд▓ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореИрдВ рдЙрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдкрд▓реЛрдб рдХрд░ рджреВрдВрдЧрд╛ред
рдкреБрдирд╢реНрдЪ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдк рдЕрдВрдд рддрдХ рдкрдврд╝рддреЗ рд╣реИрдВред :)

Source: https://habr.com/ru/post/In145712/


All Articles