zlib-ng 2.0 ಲೈಬ್ರರಿ ಬಿಡುಗಡೆ ಲಭ್ಯವಿದೆ, ಇದನ್ನು ಯೋಜನೆಯ ಮೊದಲ ಸ್ಥಿರ ಬಿಡುಗಡೆ ಎಂದು ಗುರುತಿಸಲಾಗಿದೆ (ಸರಿಪಡಿಸುವ ಬಿಡುಗಡೆ 2.0.1 ಈಗಾಗಲೇ ಲಭ್ಯವಿದೆ). Zlib-ng API ಮಟ್ಟದಲ್ಲಿ zlib ನೊಂದಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ, ಆದರೆ ಬದಲಾವಣೆಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಸಂಪ್ರದಾಯವಾದಿ ವಿಧಾನದಿಂದಾಗಿ ಅಧಿಕೃತ zlib ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಸ್ವೀಕರಿಸದ ಹೆಚ್ಚುವರಿ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, zlib ಅನ್ನು ಆಧರಿಸಿ ಆಧುನೀಕರಿಸಿದ API ಅನ್ನು ನೀಡಲಾಗುತ್ತದೆ, ಆದರೆ ಪೋರ್ಟಿಂಗ್ ಅನ್ನು ಸರಳೀಕರಿಸಲು ಮಾರ್ಪಡಿಸಲಾಗಿದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು C ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು Zlib ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ.
x86_64 ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ನಡೆಸಿದ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ Zlib-ng, zlib ಗಿಂತ ಸರಿಸುಮಾರು 4 ಪಟ್ಟು ವೇಗವಾಗಿದೆ ಮತ್ತು ಸಂಕೋಚನ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ gzip ಗಿಂತ 2.1 ಪಟ್ಟು ವೇಗವಾಗಿದೆ ಎಂದು ತೋರಿಸಿದೆ. ಡಿಕಂಪ್ರೆಷನ್ ಮಾಡುವಾಗ, Zlib-ng, zlib ಗಿಂತ ಸರಿಸುಮಾರು 2.4 ಪಟ್ಟು ವೇಗವಾಗಿದೆ ಮತ್ತು gzip ಗಿಂತ 1.8 ಪಟ್ಟು ವೇಗವಾಗಿದೆ. ಸಂಕೋಚನ/ಡಿಕಂಪ್ರೆಷನ್ ಕಾರ್ಯಕ್ಷಮತೆಯಲ್ಲಿ ಗಮನಾರ್ಹ ಹೆಚ್ಚಳವನ್ನು ಮುಖ್ಯವಾಗಿ SSE*, AVX2, VSX ಮತ್ತು ನಿಯಾನ್ ವೆಕ್ಟರ್ ಸೂಚನೆಗಳ ಬಳಕೆಯಿಂದಾಗಿ ಸಾಧಿಸಲಾಗಿದೆ.
ಇದು SSSE32, AVX3, Neon, ಮತ್ತು VSX ಸೂಚನೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅತ್ಯುತ್ತಮವಾಗಿಸಿದ Adler2 ಚೆಕ್ಸಮ್ ಲೆಕ್ಕಾಚಾರ ಅಲ್ಗಾರಿದಮ್ನ ಅನುಷ್ಠಾನ, PCLMULQDQ ಮತ್ತು ACLE ಆಧಾರಿತ CRC32-B ಅನುಷ್ಠಾನ, ಸುಧಾರಿತ ಹ್ಯಾಶ್ ಕೋಷ್ಟಕಗಳು, SSE2, AVX2, Neon, ಮತ್ತು VSX ಆಧಾರಿತ ಸ್ಲೈಡ್ ಹ್ಯಾಶ್ ಅನುಷ್ಠಾನ ಮತ್ತು SSE4.2 ಮತ್ತು AVX2 ಆಧಾರಿತ ಹೋಲಿಕೆ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಪ್ಯಾಕೇಜ್ ಇಂಟೆಲ್ ಮತ್ತು ಕ್ಲೌಡ್ಫ್ಲೇರ್ನಿಂದ ಫೋರ್ಕ್ಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ ಕಾರ್ಯಕ್ಷಮತೆ-ವರ್ಧಿಸುವ ಬದಲಾವಣೆಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ. ಬಫರ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲಾಗಿದೆ. CMake ಮತ್ತು NMake ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಪರೀಕ್ಷೆಗಾಗಿ ನಿರಂತರ ಏಕೀಕರಣ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳ ಜೊತೆಗೆ, Zlib-ng ವಿತರಣಾ ಪ್ಯಾಕೇಜ್ಗಳಲ್ಲಿ ಸಂಗ್ರಹವಾದ ಪ್ಯಾಚ್ಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ ಮತ್ತು ಹಳೆಯ ಕಂಪೈಲರ್ಗಳು ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳನ್ನು ಬೆಂಬಲಿಸಲು zlib ನಲ್ಲಿ ಬಳಸಲಾದ ಪರಿಹಾರೋಪಾಯಗಳಿಂದ ಕೋಡ್ ಅನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ, ಆದರೆ ಇದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ವಿಧಾನಗಳ ಅನುಷ್ಠಾನವನ್ನು ತಡೆಯುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, 16-ಬಿಟ್ ಸಿಸ್ಟಮ್ಗಳನ್ನು ಬೆಂಬಲಿಸಲು ಅಗತ್ಯವಾದ ನಿರ್ಬಂಧಗಳು ಮತ್ತು ANSI C ಗೆ ಹೊಂದಿಕೆಯಾಗದ ಕಂಪೈಲರ್ಗಳು). ಸ್ಟ್ಯಾಟಿಕ್ ವಿಶ್ಲೇಷಕಗಳು, ಫಜಿಂಗ್ ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಮೆಮೊರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸುವ ಸಾಧನಗಳಿಂದ (AddressSanitizer ಮತ್ತು MemorySanitizer) ಪತ್ತೆಯಾದ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ಮತ್ತು ಸರಿಪಡಿಸಲು ಕೆಲಸವನ್ನು ಕೈಗೊಳ್ಳಲಾಯಿತು.
ಮೂಲ: opennet.ru
