Zstd: рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реАрдЬрд╝рдореИрди рд╕реНрдХреЛрд░ рдХреНрдпрд╛ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 31 рдорд╛рд░реНрдЪ 2018  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/zstd

рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрдм рд╡реАрд╕рдореИрди рд╕реНрдХреЛрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕реАрдорд╛ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛред
рдореБрдЭреЗ рд░реАрдбрдореА рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╡реАрдЬрд╝рдореИрди рд╕реНрдХреЛрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╡реАрд╕рдореИрди рд╕реНрдХреЛрд░рд┐рдВрдЧ рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  1. рдпрд╣ рдПрдХ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрдХреЛрд░ рд╣реИред рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджрд░реНрдн рдЧрддрд┐ рдФрд░ рдЕрдиреБрдкрд╛рдд рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ред
  2. рдпрд╣ T <= 1 рдХреЗ рд╕рд╛рде рдмрдХрд╡рд╛рд╕ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред
  3. рдпрд╣ рдкреНрд░рдпреБрдХреНрдд рд╕рдордп рдЗрдХрд╛рдИ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИред ( log(T_ref / T_exp) рд╢рд╛рдпрдж log(T_ref) / log(T_exp) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛)ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ, рдорд┐рдирдЯ рдмрдирд╛рдо рд╕реЗрдХрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЛ рд╕реНрдХреЛрд░ рдХрд░рдиреЗ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреЛрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
  4. рдпрд╣ рдЕрдиреБрдкрд╛рдд рдФрд░ рд╕рдордп рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡реНрдпрд╛рдкрд╛рд░-рдмрдВрдж рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рд╕рдВрдкреАрдбрд╝рди рдореЗрдВ рдЧрддрд┐ рдФрд░ рдЕрдиреБрдкрд╛рдд рдХреЗ рдмреАрдЪ рдЯреНрд░реЗрдбрдСрдлрд╝ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╕реАрдорд╛ рд▓реЙрдЧ-рдЖрдХрд╛рд░ рдХреА рдирд╣реАрдВ рд╣реИред
  5. рдпрд╣ рдбреАрдХрдВрдкреНрд░реЗрд╕рди рдЧрддрд┐ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рд░рдХ рдирд╣реАрдВ рд╣реИред

рдлрд┐рд░ рднреА, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде:

  • рд╕рдВрджрд░реНрдн рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ gzip (рдЗрд╕рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрддрд░ 6 рдкрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
  • рд╕рд┐рд▓реЗрд╕рд┐рдпрд╛ рдХреЙрд░реНрдкрд╕ рдкрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧред
  • рд╕рдордп рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рджрд╕рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдЪреВрдВрдХрд┐ рдХреБрдЫ рддреЗрдЬ рдХрдореНрдкреНрд░реЗрд╕рд░ рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рднреА рдХрдо рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдиреНрдпрдерд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛)ред
  • рдПрдХ рдХреЗ рдЕрд▓реНрдлрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдВрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ:

рдПрд▓реНрдЧреЛ | рд▓рд╡рд▓ | рд╕реНрдХреЛрд░
---- | --- | -----
рдЧрдЬрд╝рд┐рдк | 1 | 1.19
рдЧрдЬрд╝рд┐рдк | 2 | 1.20
рдЧрдЬрд╝рд┐рдк | 3 | 1.15
рдЧрдЬрд╝рд┐рдк | 4 | 1.16
рдЧрдЬрд╝рд┐рдк | 5 | 1.09
рдЧрдЬрд╝рд┐рдк | 6 | 1.00
рдЧрдЬрд╝рд┐рдк | 7 | 0.96
рдЧрдЬрд╝рд┐рдк | 8 | 0.87
рдЧрдЬрд╝рд┐рдк | 9 | 0.83
lz4 | 1 | 2.98
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -5 | 2.97
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -4 | 2.86
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -3 | 2.77
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -2 | 2.58
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -1 | 2.54
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 1 | 2.67
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 2 | 2.34
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 3 | 2.11
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 4 | 1.98
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 5 | 1.67
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 6 | 1.55
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 7 | 1.42
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 8 | 1.34
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 9 | 1.24
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 10 | 1.18
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 11 | 1.12
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 12 | 1.03
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 13 | 0.97
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 14 | 0.94
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 15 | 0.90
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 16 | 0.89
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 17 | 0.86
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 18 | 0.84
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 19 | 0.82
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 20 | 0.82
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 21 | 0.80
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 22 | 0.79

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, zstd рдФрд░ lz4 рджреЛрдиреЛрдВ 2.9 рдХреА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕реАрдорд╛ рдХреЛ рддреЛрдбрд╝рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧреА рд╣реИ!

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдПрдХ рд╣реА рдмрд╛рдд рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рд╕рдЯреАрдХ рд╡реАрдЬрд╝рдореИрди рд╕реНрдХреЛрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рд╣реИрдВ?

рд╡реАрд╕рдореИрди рд╕реНрдХреЛрд░рд┐рдВрдЧ рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  1. рдпрд╣ рдПрдХ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрдХреЛрд░ рд╣реИред рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджрд░реНрдн рдЧрддрд┐ рдФрд░ рдЕрдиреБрдкрд╛рдд рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ред
  2. рдпрд╣ T <= 1 рдХреЗ рд╕рд╛рде рдмрдХрд╡рд╛рд╕ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред
  3. рдпрд╣ рдкреНрд░рдпреБрдХреНрдд рд╕рдордп рдЗрдХрд╛рдИ рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИред ( log(T_ref / T_exp) рд╢рд╛рдпрдж log(T_ref) / log(T_exp) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛)ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ, рдорд┐рдирдЯ рдмрдирд╛рдо рд╕реЗрдХрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЛ рд╕реНрдХреЛрд░ рдХрд░рдиреЗ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдХреЛрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред
  4. рдпрд╣ рдЕрдиреБрдкрд╛рдд рдФрд░ рд╕рдордп рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡реНрдпрд╛рдкрд╛рд░-рдмрдВрдж рдХреЛ рдкрдХрдбрд╝рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рд╕рдВрдкреАрдбрд╝рди рдореЗрдВ рдЧрддрд┐ рдФрд░ рдЕрдиреБрдкрд╛рдд рдХреЗ рдмреАрдЪ рдЯреНрд░реЗрдбрдСрдлрд╝ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╕реАрдорд╛ рд▓реЙрдЧ-рдЖрдХрд╛рд░ рдХреА рдирд╣реАрдВ рд╣реИред
  5. рдпрд╣ рдбреАрдХрдВрдкреНрд░реЗрд╕рди рдЧрддрд┐ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рд░рдХ рдирд╣реАрдВ рд╣реИред

рдлрд┐рд░ рднреА, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде:

  • рд╕рдВрджрд░реНрдн рдХрдВрдкреНрд░реЗрд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ gzip (рдЗрд╕рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрддрд░ 6 рдкрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
  • рд╕рд┐рд▓реЗрд╕рд┐рдпрд╛ рдХреЙрд░реНрдкрд╕ рдкрд░ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧред
  • рд╕рдордп рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рджрд╕рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдЪреВрдВрдХрд┐ рдХреБрдЫ рддреЗрдЬ рдХрдореНрдкреНрд░реЗрд╕рд░ рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рднреА рдХрдо рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдиреНрдпрдерд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд▓реЙрдЧ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛)ред
  • рдПрдХ рдХреЗ рдЕрд▓реНрдлрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдВрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ:

рдПрд▓реНрдЧреЛ | рд▓рд╡рд▓ | рд╕реНрдХреЛрд░
---- | --- | -----
рдЧрдЬрд╝рд┐рдк | 1 | 1.19
рдЧрдЬрд╝рд┐рдк | 2 | 1.20
рдЧрдЬрд╝рд┐рдк | 3 | 1.15
рдЧрдЬрд╝рд┐рдк | 4 | 1.16
рдЧрдЬрд╝рд┐рдк | 5 | 1.09
рдЧрдЬрд╝рд┐рдк | 6 | 1.00
рдЧрдЬрд╝рд┐рдк | 7 | 0.96
рдЧрдЬрд╝рд┐рдк | 8 | 0.87
рдЧрдЬрд╝рд┐рдк | 9 | 0.83
lz4 | 1 | 2.98
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -5 | 2.97
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -4 | 2.86
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -3 | 2.77
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -2 | 2.58
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | -1 | 2.54
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 1 | 2.67
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 2 | 2.34
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 3 | 2.11
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 4 | 1.98
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 5 | 1.67
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 6 | 1.55
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 7 | 1.42
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 8 | 1.34
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 9 | 1.24
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 10 | 1.18
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 11 | 1.12
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 12 | 1.03
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 13 | 0.97
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 14 | 0.94
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 15 | 0.90
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 16 | 0.89
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 17 | 0.86
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 18 | 0.84
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 19 | 0.82
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 20 | 0.82
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 21 | 0.80
рдЬреЗрдбрдПрд╕рдЯреАрдбреА | 22 | 0.79

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, zstd рдФрд░ lz4 рджреЛрдиреЛрдВ 2.9 рдХреА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕реАрдорд╛ рдХреЛ рддреЛрдбрд╝рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧреА рд╣реИ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Hedda picture Hedda  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

escalade picture escalade  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

xorgy picture xorgy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

terrelln picture terrelln  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

scherepanov picture scherepanov  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ