پیک پروجیکٹ نے SQLite لائبریری اور ZSTD (Zstandard) کمپریشن الگورتھم پر مبنی فائل آرکائیونگ فارمیٹ بنانے کی کوشش کی۔ تیار شدہ پروٹو ٹائپ، پاسکل میں لکھا گیا اور اپاچی 2.0 لائسنس کے تحت تقسیم کیا گیا، آرکائیوز بنانے کی رفتار میں سب سے زیادہ عام آرکائیورز کو پیچھے چھوڑ دیا، اس حقیقت کے باوجود کہ اس کا کام ڈیٹا کو پڑھنے، اسے libzstd لائبریری کے ساتھ کمپریس کرنے اور SQL آپریشنز انجام دینے تک محدود تھا۔ ڈیٹا بیس SQLite والی فائل میں کمپریسڈ ڈیٹا شامل کریں۔
81 جی بی کے کل سائز کے ساتھ 1.25 ہزار فائلوں کے ساتھ ڈائرکٹری کو کمپریس کرتے وقت، پیک زپ یوٹیلیٹی سے 112 گنا تیز تھا، زپ کے لیے 1.3 سیکنڈ کے مقابلے 146 سیکنڈ میں آپریشن مکمل کرتا تھا۔ پیک کے لیے آرکائیو کا سائز 23% چھوٹا تھا (پیک کے لیے 194 MB اور زپ کے لیے 253 MB)۔ موازنہ کے لیے، ٹار یوٹیلیٹی نے بغیر کمپریشن کے 4.7 سیکنڈ میں پیکنگ مکمل کی اور gzip کمپریشن کے ساتھ 28.5 سیکنڈ میں، RAR آرکائیور نے 27.5 سیکنڈ میں ٹیسٹ مکمل کیا، اور 7z نے 54.2 سیکنڈ میں۔ آرکائیو کے سائز یہ تھے: tar.gz - 214 MB، RAR - 235 MB، 7z - 135 MB۔ واضح رہے کہ پیک کھولنے کی رفتار اور فائلوں تک بے ترتیب رسائی کے لحاظ سے، پیک دیگر آرکائیورز سے بھی آگے ہے، جبکہ کم RAM استعمال کرتا ہے۔ زپ: 253 ایم بی ، 146 ایس 7 زیڈ: 135 ایم بی ، 54.2 ایس تیز زپ 2.7 بار ٹار۔ جی زیڈ: 214 ایم بی ، 28.5 ایس ایکس 5.1 آر اے آر: 235 ایم بی ، 27.5 ایس ایکس 5.3 ٹار: 1345 ایم بی ، 4.7 ایس ایکس 31 پیک: 194 ایم بی ، 1.3 SX 112
ٹیسٹ کے نتائج پر فائل کیش کے اثر کا کوئی ذکر نہیں ہے۔ شاید، زپ کی کم رفتار اس ترتیب کی وجہ سے ہے جس میں میموری میں ڈیٹا کیشنگ کی پرواہ کیے بغیر ٹیسٹ شروع کیے گئے تھے - زپ کے ساتھ ٹیسٹ کو کولڈ کیش کے ساتھ شروع کیا گیا تھا، اور باقی ٹیسٹ گرم کیش کے ساتھ۔ عام حالات میں، Zstandard 3-5% زیادہ کمپریشن لیول کے ساتھ، zlib کے مقابلے میں 10-15 گنا تیز کمپریشن اور XNUMX گنا تیز ڈیکمپریشن دکھاتا ہے۔
اضافہ: ایس کیو ایلائٹ ڈیٹا بیس میں کمپریسڈ فائلوں کو بلابس کی شکل میں اسٹور کرنے کا اسی طرح کا خیال 2014 میں اسکیلر آرکائیور میں لاگو کیا گیا تھا، جسے SQLite ڈویلپرز نے SQLite میں بلابز کو اسٹور کرنے کی کارکردگی کو جانچنے کے لیے ایک تجربے کے طور پر تخلیق کیا تھا۔ sqlar کمپریشن کے لیے zlib استعمال کرتا ہے اور فائل کا سائز ZIP یوٹیلیٹی سے تقریباً 2% بڑا ہے۔
ماخذ: opennet.ru
