Son aktivite 1 day ago

KarelWintersky bu gisti düzenledi 1 day ago. Düzenlemeye git

1 file changed, 1 insertion, 1 deletion

0.md

@@ -2,7 +2,7 @@
2 2
3 3 - `>> X <<` - отмечен уровень сжатия, при котором время работы близко к используемому gzip. При этом степень сжатия заметно выше.
4 4
5 - Parallel ZSTD использует, по умолчанию, все ядра процессора. Скорость примерно в 3 раза выше ценой незначительного ухудшения сжатия.
5 + - Parallel ZSTD использует, по умолчанию, все ядра процессора. Скорость примерно в 3 раза выше ценой незначительного ухудшения сжатия.
6 6
7 7 ```
8 8 # 47news

KarelWintersky bu gisti düzenledi 1 day ago. Düzenlemeye git

1 file changed, 12 insertions, 6 deletions

0.md

@@ -1,3 +1,9 @@
1 + - `* X *` - отмечен дефолтный уровень сжатия для zstd (3). Даже при этом объеме скорость сжатия значительно выше используемого gzip
2 +
3 + - `>> X <<` - отмечен уровень сжатия, при котором время работы близко к используемому gzip. При этом степень сжатия заметно выше.
4 +
5 + Parallel ZSTD использует, по умолчанию, все ядра процессора. Скорость примерно в 3 раза выше ценой незначительного ухудшения сжатия.
6 +
1 7 ```
2 8 # 47news
3 9
@@ -12,7 +18,7 @@ user 1m29.764s
12 18 ----------------------------------------------------------------------
13 19 1 6.64 261.4 MB 4.12 0.62
14 20 2 7.41 258.1 MB 4.18 0.56
15 - 3 9.30 232.4 MB 4.64 0.50
21 + 3 * 9.30 * 232.4 MB 4.64 0.50
16 22 4 9.12 230.1 MB 4.68 0.51
17 23 5 18.40 220.6 MB 4.89 0.27
18 24 6 24.43 208.7 MB 5.16 0.21
@@ -29,7 +35,7 @@ user 1m29.764s
29 35 ----------------------------------------------------------------------
30 36 1 2.17 262.5 MB 4.11 1.89
31 37 2 2.69 258.8 MB 4.16 1.55
32 - 3 3.45 234.5 MB 4.59 1.33
38 + 3 * 3.45 * 234.5 MB 4.59 1.33
33 39 4 3.75 232.5 MB 4.64 1.24
34 40 5 5.90 221.3 MB 4.87 0.83
35 41 6 7.14 209.5 MB 5.14 0.72
@@ -53,7 +59,7 @@ user 1m29.764s
53 59 ----------------------------------------------------------------------
54 60 1 6.67 206.0 MB 22.89 3.43
55 61 2 7.03 189.9 MB 24.84 3.53
56 - 3 8.44 167.8 MB 28.11 3.33
62 + 3 * 8.44 * 167.8 MB 28.11 3.33
57 63 4 9.36 167.3 MB 28.20 3.01
58 64 5 17.37 157.5 MB 29.94 1.72
59 65 6 22.03 150.1 MB 31.42 1.43
@@ -71,7 +77,7 @@ user 1m29.764s
71 77 ----------------------------------------------------------------------
72 78 1 3.14 215.5 MB 21.88 6.98
73 79 2 3.59 195.7 MB 24.10 6.72
74 - 3 3.32 172.7 MB 27.31 8.23
80 + 3 * 3.32 * 172.7 MB 27.31 8.23
75 81 4 3.76 172.2 MB 27.39 7.29
76 82 5 5.44 161.1 MB 29.27 5.38
77 83 6 6.31 153.7 MB 30.69 4.86
@@ -96,7 +102,7 @@ user 1m29.764s
96 102 ----------------------------------------------------------------------
97 103 1 4.26 129.1 MB 8.80 2.07
98 104 2 4.67 128.8 MB 8.82 1.89
99 - 3 5.72 133.7 MB 8.50 1.49
105 + 3 * 5.72 * 133.7 MB 8.50 1.49
100 106 4 5.95 133.7 MB 8.50 1.43
101 107 5 14.12 128.3 MB 8.86 0.63
102 108 6 19.43 117.5 MB 9.67 0.50
@@ -112,7 +118,7 @@ user 1m29.764s
112 118 ----------------------------------------------------------------------
113 119 1 1.38 129.2 MB 8.79 6.38
114 120 2 1.49 128.8 MB 8.82 5.91
115 - 3 1.87 134.4 MB 8.46 4.52
121 + 3 * 1.87 * 134.4 MB 8.46 4.52
116 122 4 2.05 134.3 MB 8.46 4.13
117 123 5 4.34 128.2 MB 8.87 2.04
118 124 6 4.93 117.4 MB 9.68 1.96

KarelWintersky bu gisti düzenledi 2 days ago. Düzenlemeye git

2 files changed, 104 insertions

gistfile1.md yeniden adlandırıldı 0.md

Dosya değişiklik yapılmadan yeniden adlandırıldı

1.py(dosya oluşturuldu)

@@ -0,0 +1,104 @@
1 + #!/usr/bin/env python3
2 +
3 + import subprocess
4 + import time
5 + import os
6 + import sys
7 + from pathlib import Path
8 +
9 + def get_file_size(filepath):
10 + """Получить размер файла в байтах"""
11 + return os.path.getsize(filepath)
12 +
13 + def format_size(size_bytes):
14 + """Конвертировать байты в человеко-читаемый формат"""
15 + for unit in ['B', 'KB', 'MB', 'GB']:
16 + if size_bytes < 1024.0:
17 + return f"{size_bytes:.1f} {unit}"
18 + size_bytes /= 1024.0
19 + return f"{size_bytes:.1f} TB"
20 +
21 + def run_compression(input_file, level):
22 + """Запустить сжатие с заданной степенью и вернуть время и размер"""
23 + output_file = f"{input_file}.zstd-{level}"
24 +
25 + start_time = time.time()
26 +
27 + try:
28 + # Запускаем zstd с указанной степенью сжатия
29 + subprocess.run(
30 + ['zstd', f'-{level}', input_file, '-o', output_file ],
31 + check=True,
32 + capture_output=True,
33 + text=True
34 + )
35 + except subprocess.CalledProcessError as e:
36 + print(f"Ошибка при сжатии с уровнем {level}: {e.stderr}")
37 + return None, None
38 +
39 + end_time = time.time()
40 + elapsed_time = end_time - start_time
41 +
42 + archive_size = get_file_size(output_file)
43 +
44 + # Опционально: удалить архив после измерения
45 + # os.remove(output_file)
46 +
47 + return elapsed_time, archive_size
48 +
49 + def main():
50 + input_file = "47news.mysql"
51 +
52 + # Проверяем существование файла
53 + if not Path(input_file).exists():
54 + print(f"Ошибка: файл {input_file} не найден!")
55 + sys.exit(1)
56 +
57 + # Получаем исходный размер
58 + original_size = get_file_size(input_file)
59 +
60 + # Заголовок таблицы
61 + print(f"\n{'Степень':<8} {'Время (сек)':<12} {'Размер':<12} {'Коэфф. сжатия':<15} {'Эффективность':<15}")
62 + print("-" * 70)
63 +
64 + results = []
65 +
66 + # Прогоняем для степеней сжатия 1-19
67 + for level in range(1, 20):
68 + elapsed_time, archive_size = run_compression(input_file, level)
69 +
70 + if elapsed_time is None:
71 + continue
72 +
73 + compression_ratio = original_size / archive_size
74 + efficiency = compression_ratio / elapsed_time
75 +
76 + results.append({
77 + 'level': level,
78 + 'time': elapsed_time,
79 + 'size': archive_size,
80 + 'ratio': compression_ratio,
81 + 'efficiency': efficiency
82 + })
83 +
84 + # Выводим строку таблицы
85 + print(f"{level:<8} {elapsed_time:<12.2f} {format_size(archive_size):<12} {compression_ratio:<15.2f} {efficiency:<15.2f}")
86 +
87 + # Выводим итоговую информацию
88 + print("\n" + "="*70)
89 + print(f"Исходный файл: {input_file}")
90 + print(f"Исходный размер: {format_size(original_size)} ({original_size:,} байт)")
91 + print("="*70)
92 +
93 + # Находим лучший результат по эффективности
94 + if results:
95 + best_efficiency = max(results, key=lambda x: x['efficiency'])
96 + print(f"\nЛучшая эффективность (коэфф.сжатия/время):")
97 + print(f" Степень сжатия: {best_efficiency['level']}")
98 + print(f" Время: {best_efficiency['time']:.2f} сек")
99 + print(f" Размер: {format_size(best_efficiency['size'])}")
100 + print(f" Коэффициент сжатия: {best_efficiency['ratio']:.2f}")
101 + print(f" Эффективность: {best_efficiency['efficiency']:.2f}")
102 +
103 + if __name__ == "__main__":
104 + main()

KarelWintersky bu gisti düzenledi 2 days ago. Düzenlemeye git

1 file changed, 2 insertions, 2 deletions

gistfile1.md

@@ -77,7 +77,7 @@ user 1m29.764s
77 77 6 6.31 153.7 MB 30.69 4.86
78 78 7 7.43 149.8 MB 31.48 4.24
79 79 8 8.98 146.4 MB 32.22 3.59
80 - 9 9.84 140.1 MB 33.66 3.42
80 + 9 >> 9.84 << 140.1 MB 33.66 3.42
81 81 10 13.60 136.7 MB 34.49 2.54
82 82 11 20.79 134.2 MB 35.14 1.69
83 83 12 21.87 134.1 MB 35.17 1.61
@@ -118,7 +118,7 @@ user 1m29.764s
118 118 6 4.93 117.4 MB 9.68 1.96
119 119 7 6.45 117.2 MB 9.69 1.50
120 120 8 7.47 110.4 MB 10.30 1.38
121 - 9 8.76 110.7 MB 10.27 1.17
121 + 9 >> 8.76 << 110.7 MB 10.27 1.17
122 122 10 12.41 110.1 MB 10.32 0.83
123 123 11 19.22 109.7 MB 10.36 0.54
124 124 12 20.63 109.7 MB 10.36 0.50

KarelWintersky bu gisti düzenledi 2 days ago. Düzenlemeye git

1 file changed, 52 insertions, 14 deletions

gistfile1.md

@@ -1,12 +1,13 @@
1 - 47news
2 -
3 1 ```
4 - GZIP:
2 + # 47news
3 +
4 + ## GZIP
5 5 real 1m32.593s
6 6 user 1m29.764s
7 7 254 886 Kb = 249 MB
8 8
9 - ZSTD:
9 + ## ZSTD
10 +
10 11 Степень Время (сек) Размер Коэфф. сжатия Эффективность
11 12 ----------------------------------------------------------------------
12 13 1 6.64 261.4 MB 4.12 0.62
@@ -22,7 +23,8 @@ ZSTD:
22 23 11 86.44 175.2 MB 6.15 0.07
23 24 12 96.17 174.8 MB 6.16 0.06
24 25
25 - PZSTD
26 + ## Parallel ZSTD
27 +
26 28 Степень Время (сек) Размер Коэфф. сжатия Эффективность
27 29 ----------------------------------------------------------------------
28 30 1 2.17 262.5 MB 4.11 1.89
@@ -37,16 +39,16 @@ PZSTD
37 39 10 18.02 182.8 MB 5.89 0.33
38 40 11 29.80 176.6 MB 6.10 0.20
39 41 12 31.89 176.2 MB 6.12 0.19
40 - ```
41 42
42 - 47news_archive
43 + # 47news_archive
43 44
44 - ```
45 - 47news_archive
45 + ## GZIP
46 46
47 47 0:02:17
48 48 4716М -> 309M
49 49
50 + ## ZSTD
51 +
50 52 Степень Время (сек) Размер Коэфф. сжатия Эффективность
51 53 ----------------------------------------------------------------------
52 54 1 6.67 206.0 MB 22.89 3.43
@@ -62,16 +64,34 @@ PZSTD
62 64 11 67.98 131.3 MB 35.93 0.53
63 65 12 76.52 131.2 MB 35.96 0.47
64 66 13 428.43 135.2 MB 34.88 0.08
65 - ```
66 67
67 - 47news_stats
68 + ## Parallel ZSTD
69 +
70 + Степень Время (сек) Размер Коэфф. сжатия Эффективность
71 + ----------------------------------------------------------------------
72 + 1 3.14 215.5 MB 21.88 6.98
73 + 2 3.59 195.7 MB 24.10 6.72
74 + 3 3.32 172.7 MB 27.31 8.23
75 + 4 3.76 172.2 MB 27.39 7.29
76 + 5 5.44 161.1 MB 29.27 5.38
77 + 6 6.31 153.7 MB 30.69 4.86
78 + 7 7.43 149.8 MB 31.48 4.24
79 + 8 8.98 146.4 MB 32.22 3.59
80 + 9 9.84 140.1 MB 33.66 3.42
81 + 10 13.60 136.7 MB 34.49 2.54
82 + 11 20.79 134.2 MB 35.14 1.69
83 + 12 21.87 134.1 MB 35.17 1.61
84 +
85 +
86 + # 47news_stats
87 +
88 + ## GZIP
68 89
69 - ```
70 - gzip
71 90 1136М -> 128M
72 91 0:00:38
73 92
74 - zstd:
93 + ## ZSTD
94 +
75 95 Степень Время (сек) Размер Коэфф. сжатия Эффективность
76 96 ----------------------------------------------------------------------
77 97 1 4.26 129.1 MB 8.80 2.07
@@ -85,4 +105,22 @@ zstd:
85 105 9 >> 31.04 << 110.7 MB 10.26 0.33
86 106 10 42.70 110.1 MB 10.32 0.24
87 107 11 63.48 109.7 MB 10.35 0.16
108 +
109 + ## Parallel ZSTD
110 +
111 + Степень Время (сек) Размер Коэфф. сжатия Эффективность
112 + ----------------------------------------------------------------------
113 + 1 1.38 129.2 MB 8.79 6.38
114 + 2 1.49 128.8 MB 8.82 5.91
115 + 3 1.87 134.4 MB 8.46 4.52
116 + 4 2.05 134.3 MB 8.46 4.13
117 + 5 4.34 128.2 MB 8.87 2.04
118 + 6 4.93 117.4 MB 9.68 1.96
119 + 7 6.45 117.2 MB 9.69 1.50
120 + 8 7.47 110.4 MB 10.30 1.38
121 + 9 8.76 110.7 MB 10.27 1.17
122 + 10 12.41 110.1 MB 10.32 0.83
123 + 11 19.22 109.7 MB 10.36 0.54
124 + 12 20.63 109.7 MB 10.36 0.50
125 +
88 126 ```

KarelWintersky bu gisti düzenledi 2 days ago. Düzenlemeye git

1 file changed, 0 insertions, 0 deletions

gistfile1.txt yeniden adlandırıldı gistfile1.md

Dosya değişiklik yapılmadan yeniden adlandırıldı

KarelWintersky bu gisti düzenledi 2 days ago. Düzenlemeye git

Değişiklik yok

KarelWintersky bu gisti düzenledi 2 days ago. Düzenlemeye git

1 file changed, 88 insertions

gistfile1.txt(dosya oluşturuldu)

@@ -0,0 +1,88 @@
1 + 47news
2 +
3 + ```
4 + GZIP:
5 + real 1m32.593s
6 + user 1m29.764s
7 + 254 886 Kb = 249 MB
8 +
9 + ZSTD:
10 + Степень Время (сек) Размер Коэфф. сжатия Эффективность
11 + ----------------------------------------------------------------------
12 + 1 6.64 261.4 MB 4.12 0.62
13 + 2 7.41 258.1 MB 4.18 0.56
14 + 3 9.30 232.4 MB 4.64 0.50
15 + 4 9.12 230.1 MB 4.68 0.51
16 + 5 18.40 220.6 MB 4.89 0.27
17 + 6 24.43 208.7 MB 5.16 0.21
18 + 7 29.47 199.0 MB 5.42 0.18
19 + 8 37.00 192.5 MB 5.60 0.15
20 + 9 >> 40.69 << 189.9 MB 5.68 0.14
21 + 10 56.94 181.7 MB 5.93 0.10
22 + 11 86.44 175.2 MB 6.15 0.07
23 + 12 96.17 174.8 MB 6.16 0.06
24 +
25 + PZSTD
26 + Степень Время (сек) Размер Коэфф. сжатия Эффективность
27 + ----------------------------------------------------------------------
28 + 1 2.17 262.5 MB 4.11 1.89
29 + 2 2.69 258.8 MB 4.16 1.55
30 + 3 3.45 234.5 MB 4.59 1.33
31 + 4 3.75 232.5 MB 4.64 1.24
32 + 5 5.90 221.3 MB 4.87 0.83
33 + 6 7.14 209.5 MB 5.14 0.72
34 + 7 8.97 200.0 MB 5.39 0.60
35 + 8 10.92 193.9 MB 5.56 0.51
36 + 9 >> 11.94 << 190.8 MB 5.65 0.47
37 + 10 18.02 182.8 MB 5.89 0.33
38 + 11 29.80 176.6 MB 6.10 0.20
39 + 12 31.89 176.2 MB 6.12 0.19
40 + ```
41 +
42 + 47news_archive
43 +
44 + ```
45 + 47news_archive
46 +
47 + 0:02:17
48 + 4716М -> 309M
49 +
50 + Степень Время (сек) Размер Коэфф. сжатия Эффективность
51 + ----------------------------------------------------------------------
52 + 1 6.67 206.0 MB 22.89 3.43
53 + 2 7.03 189.9 MB 24.84 3.53
54 + 3 8.44 167.8 MB 28.11 3.33
55 + 4 9.36 167.3 MB 28.20 3.01
56 + 5 17.37 157.5 MB 29.94 1.72
57 + 6 22.03 150.1 MB 31.42 1.43
58 + 7 25.69 146.2 MB 32.26 1.26
59 + 8 31.99 141.9 MB 33.24 1.04
60 + 9 >> 36.09 << 137.4 MB 34.33 0.95
61 + 10 49.73 133.9 MB 35.22 0.71
62 + 11 67.98 131.3 MB 35.93 0.53
63 + 12 76.52 131.2 MB 35.96 0.47
64 + 13 428.43 135.2 MB 34.88 0.08
65 + ```
66 +
67 + 47news_stats
68 +
69 + ```
70 + gzip
71 + 1136М -> 128M
72 + 0:00:38
73 +
74 + zstd:
75 + Степень Время (сек) Размер Коэфф. сжатия Эффективность
76 + ----------------------------------------------------------------------
77 + 1 4.26 129.1 MB 8.80 2.07
78 + 2 4.67 128.8 MB 8.82 1.89
79 + 3 5.72 133.7 MB 8.50 1.49
80 + 4 5.95 133.7 MB 8.50 1.43
81 + 5 14.12 128.3 MB 8.86 0.63
82 + 6 19.43 117.5 MB 9.67 0.50
83 + 7 23.54 117.3 MB 9.69 0.41
84 + 8 28.87 110.4 MB 10.29 0.36
85 + 9 >> 31.04 << 110.7 MB 10.26 0.33
86 + 10 42.70 110.1 MB 10.32 0.24
87 + 11 63.48 109.7 MB 10.35 0.16
88 + ```
Daha yeni Daha eski