zlib-ng ನ ಮೊದಲ ಸ್ಥಿರ ಬಿಡುಗಡೆ, zlib ನ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಫೋರ್ಕ್

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 ಮತ್ತು VSari ಆಧಾರಿತ ಕಾರ್ಯಾಚರಣೆಗಳ ಆಧಾರದ ಮೇಲೆ ಸ್ಲೈಡ್ ಹ್ಯಾಶ್ ಅನುಷ್ಠಾನ SSE4.2 ಮತ್ತು AVX2 ನಲ್ಲಿ. ಸಂಯೋಜನೆಯು ಇಂಟೆಲ್ ಮತ್ತು ಕ್ಲೌಡ್‌ಫ್ಲೇರ್‌ನಿಂದ ಫೋರ್ಕ್‌ಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿರುವ ಬದಲಾವಣೆಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ. ಬಫರ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ. CMake ಮತ್ತು NMake ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಪರೀಕ್ಷೆಗಾಗಿ ನಿರಂತರ ಏಕೀಕರಣ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳ ಜೊತೆಗೆ, Zlib-ng ವಿತರಣಾ ಪ್ಯಾಕೇಜ್‌ಗಳಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ ಮತ್ತು ಹಳೆಯ ಕಂಪೈಲರ್‌ಗಳು ಮತ್ತು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸಲು zlib ನಲ್ಲಿ ಬಳಸಲಾದ ಪರಿಹಾರಗಳಿಂದ ಕೋಡ್ ಅನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ, ಆದರೆ ಇದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ವಿಧಾನಗಳ ಅನುಷ್ಠಾನವನ್ನು ತಡೆಯುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಬೆಂಬಲಿಸಲು ಅಗತ್ಯವಾದ ನಿರ್ಬಂಧಗಳು 16-ಬಿಟ್ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ANSI ಅಲ್ಲದ C ಕಂಪೈಲರ್‌ಗಳು). ಸ್ಥಾಯೀ ವಿಶ್ಲೇಷಕರು, ಅಸ್ಪಷ್ಟ ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಮೆಮೊರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸುವ ಸಾಧನಗಳು (ವಿಳಾಸ ಸ್ಯಾನಿಟೈಜರ್ ಮತ್ತು ಮೆಮೊರಿ ಸ್ಯಾನಿಟೈಜರ್) ಗುರುತಿಸುವ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ಮತ್ತು ಸರಿಪಡಿಸಲು ಕೆಲಸವನ್ನು ಕೈಗೊಳ್ಳಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ