рдирдИ Zopfli рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо 3-8% рд╕реЗ zlib рд╕рдВрдкреАрдбрд╝рди рдореЗрдВ рд╕реБрдзрд╛рд░

рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ, Google рдХреЗ рдПрдХ рдХрд░реНрдордЪрд╛рд░реА рдиреЗ рдирдпрд╛ рдЬрд╝реЛрдлрд╝рд▓реА рдХрдореНрдкреНрд░реЗрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рдердо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛, рдЬреЛ рдЕрдзрд┐рдХрддрдо рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдкрд░ рдорд╛рдирдХ рдЬрд╝рд╛рд▓рд┐рдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 3.7-8.3% рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреЛрд╖рд░рд╣рд┐рдд рд╡реЗрдмрдкреА рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдорд╛рдирдХ рдбреАрдлрд╝рд▓реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд╝рд╛рд▓рд┐рдм рдФрд░ рдЧрдЬрд╝рд┐рдк рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ, рдФрд░ рдЕрдирдЬрд╝рд┐рдкрд┐рдВрдЧ рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ Zopfli рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдирдпрд╛ "precompressor" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, рдмрд╕ gzip рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд┐рдирд╛ Nginx рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдЪ рд╣реИ, Zopfli рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдВрдкреАрдбрд╝рди рдХреЛ gzip рд╕реЗ рд▓рдЧрднрдЧ 100 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╡рд┐рдШрдЯрди рдЙрд╕реА рдЧрддрд┐ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдЦ (рдкреАрдбреАрдПрдл) рдореЗрдВ, рд▓реЗрдЦрдХ рдмрддрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЕрдиреБрдХреВрд▓рди, рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣рд╛рд╕рд┐рд▓ рдХреА рдЧрдИ рдереАред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, Deflate Huffman рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ LZ77 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдЗрди рд╡рд░реНрдгреЛрдВ рдХреА рдШрдЯрдирд╛ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЪрд░-рд▓рдВрдмрд╛рдИ рдХреЛрдб рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢ рд╡рд░реНрдгреЛрдВ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░рд╛ "рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдХрд┐рд╕реА рд╕рдВрджреЗрд╢ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рджреВрд╕рд░реА рдФрд░ рдмрд╛рдж рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЗрд╕рдХреА рдкрд╣рд▓реА рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдВрдХ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рдбрд┐рдлреНрд▓реЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрдкрдпреБрдХреНрдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдХреЛрдбрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рдеред рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ (-1 рд╕реЗ -9 рддрдХ) рд╕рдордп рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрджрд▓рдХрд░, рдЖрдХреГрддрд┐рдпрд╛рдБ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦрдХ рдХреЗ рд▓реЗрдЦ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╝реЛрдлрд╝рд▓реА рдПрдВрдЯреНрд░реЙрдкреА рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рд╕рдВрдкреАрдбрд╝рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рдлреЙрд▓реНрдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡реЛрдВ рдХреЗ рдЧреНрд░рд╛рдл рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдкрде рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИред

Zopfli рдЖрдкрдХреЛ 5 рд╕реЗ 2000 рддрдХ рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд▓реЗрдЦ (рдкреАрдбреАрдПрдл) рд╡рд┐рднрд┐рдиреНрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред



рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, jQuery рдХреЗ рдЕрд╕рдореНрдкреАрдбрд┐рдд, рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

  рдлрд╝рд╛рдЗрд▓: 268381 рдмрд╛рдЗрдЯреНрд╕
 рдЬрд╝реЛрдлрд╝рд▓реА (-i1000) 75730 рдмрд╛рдЗрдЯреНрд╕, 950 рдПрдордПрд╕
 Gzip (-9) 79388 рдмрд╛рдЗрдЯреНрд╕, 30 рдПрдордПрд╕ 

рд╕рдЪ рд╣реИ, рдЬрд╝реЛрдкрдлрд▓реА рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЧрдЬрд╝рд┐рдк -9 рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 81 рдЧреБрдирд╛ рдзреАрдорд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░, рдпрд╣ рдЬреЛрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╡рд┐рдШрдЯрди рдЙрд╕реА рдЧрддрд┐ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Zopfli рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

  git рдХреНрд▓реЛрди https://code.google.com/p/zopfli/
 рд╕реАрдбреА zopfli
 рдореЗрдХрдЕрдк
 chmod + x zopfli
 ./zopfli> FILENAME> 

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


All Articles