ಸ್ಥಳೀಯ ಪೈಥಾನ್‌ಗಾಗಿ Pyston-lite, JIT ಕಂಪೈಲರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ

ಆಧುನಿಕ JIT ಸಂಕಲನ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಪೈಥಾನ್ ಭಾಷೆಯ ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಅನುಷ್ಠಾನವನ್ನು ಒದಗಿಸುವ Pyston ಯೋಜನೆಯ ಅಭಿವರ್ಧಕರು, CPython ಗಾಗಿ JIT ಕಂಪೈಲರ್‌ನ ಅಳವಡಿಕೆಯೊಂದಿಗೆ Pyston-lite ವಿಸ್ತರಣೆಯನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಿದರು. ಪಿಸ್ಟನ್ ಸಿಪಿಥಾನ್ ಕೋಡ್‌ಬೇಸ್‌ನ ಒಂದು ಶಾಖೆಯಾಗಿದೆ ಮತ್ತು ಪ್ರತ್ಯೇಕವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಪಿಸ್ಟನ್-ಲೈಟ್ ಅನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪೈಥಾನ್ ಇಂಟರ್ಪ್ರಿಟರ್ (ಸಿಪಿಥಾನ್) ಗೆ ಸಂಪರ್ಕಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಸಾರ್ವತ್ರಿಕ ವಿಸ್ತರಣೆಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

ಪಿಐಪಿ ಅಥವಾ ಕೊಂಡಾ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಹೆಚ್ಚುವರಿ ವಿಸ್ತರಣೆಯನ್ನು ಸ್ಥಾಪಿಸುವ ಮೂಲಕ ಇಂಟರ್ಪ್ರಿಟರ್ ಅನ್ನು ಬದಲಾಯಿಸದೆಯೇ ಮೂಲ ಪಿಸ್ಟನ್ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಬಳಸಲು ಪೈಸ್ಟನ್-ಲೈಟ್ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. PyPI ಮತ್ತು Conda ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ Pyton-lite ಅನ್ನು ಈಗಾಗಲೇ ಹೋಸ್ಟ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ಸ್ಥಾಪಿಸಲು, "pip install pyston_lite_autoload" ಅಥವಾ "conda install pyston_lite_autoload -c pyston" ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ. ಎರಡು ಪ್ಯಾಕೇಜುಗಳನ್ನು ನೀಡಲಾಗುತ್ತದೆ: pyston_lite (ನೇರವಾಗಿ JIT) ಮತ್ತು pyston_lite_autoload (ಪೈಥಾನ್ ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಾರಂಭವಾದಾಗ ಸ್ವಯಂಚಾಲಿತ JIT ಪರ್ಯಾಯವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ). pyston_lite.enable() ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ವಯಂಲೋಡ್ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸದೆಯೇ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ JIT ಸೇರ್ಪಡೆಯನ್ನು ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್‌ನಲ್ಲಿ ನಿಯಂತ್ರಿಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ.

ಪಿಸ್ಟನ್-ಲೈಟ್ ಪಿಸ್ಟನ್‌ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿಲ್ಲವಾದರೂ, ಸಾಮಾನ್ಯ ಪೈಥಾನ್ 10 ಗೆ ಹೋಲಿಸಿದರೆ ಇದರ ಬಳಕೆಯು ಸುಮಾರು 25-3.8% ರಷ್ಟು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. ಭವಿಷ್ಯದಲ್ಲಿ, ಪೈಸ್ಟನ್‌ನಲ್ಲಿರುವ ಹೆಚ್ಚಿನ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಪಿಸ್ಟನ್-ಲೈಟ್‌ಗೆ ವರ್ಗಾಯಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ, ಜೊತೆಗೆ ಸಿಪಿಥಾನ್‌ನ ಬೆಂಬಲಿತ ಆವೃತ್ತಿಗಳನ್ನು ವಿಸ್ತರಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ (ಮೊದಲ ಬಿಡುಗಡೆಯು ಪೈಥಾನ್ 3.8 ಅನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ). ಹೆಚ್ಚಿನ ಜಾಗತಿಕ ಯೋಜನೆಗಳು JIT ಗಾಗಿ ಹೊಸ API ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು CPython ತಂಡದೊಂದಿಗೆ ಸಹಯೋಗವನ್ನು ಒಳಗೊಂಡಿವೆ, ಇದು ಪೈಥಾನ್‌ನ ಕೆಲಸದ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಪೈಥಾನ್ 3.12 ಶಾಖೆಯಲ್ಲಿ ಪ್ರಸ್ತಾವಿತ ಬದಲಾವಣೆಗಳನ್ನು ಸೇರಿಸುವ ಕುರಿತು ಚರ್ಚಿಸಲಾಗುತ್ತಿದೆ. ತಾತ್ತ್ವಿಕವಾಗಿ, ಪೈಸ್ಟನ್‌ನಿಂದ ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ವಿಸ್ತರಣೆಗೆ ಚಲಿಸುವ ಸಾಧ್ಯತೆಯನ್ನು ಪರಿಗಣಿಸಲಾಗುತ್ತಿದೆ, ಇದು ನಮ್ಮ ಸ್ವಂತ ಸಿಪಿಥಾನ್ ಫೋರ್ಕ್ ಅನ್ನು ನಿರ್ವಹಿಸುವುದನ್ನು ತಪ್ಪಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

Pyston-lite ಜೊತೆಗೆ, ಯೋಜನೆಯು ಪೂರ್ಣ ಪ್ರಮಾಣದ Pyston 2.3.4 ಪ್ಯಾಕೇಜ್‌ಗೆ ನವೀಕರಣವನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿತು, ಇದು ಹೊಸ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ನೀಡುತ್ತದೆ. ಪೈಪರ್‌ಫಾರ್ಮೆನ್ಸ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ, ಆವೃತ್ತಿ 2.3.4 ಬಿಡುಗಡೆ 2.3.3 ಗಿಂತ ಸುಮಾರು 6% ರಷ್ಟು ವೇಗವಾಗಿರುತ್ತದೆ. ಸಿಪಿಥಾನ್‌ಗೆ ಹೋಲಿಸಿದರೆ ಒಟ್ಟಾರೆ ಕಾರ್ಯಕ್ಷಮತೆಯ ಲಾಭವು 66% ಎಂದು ಅಂದಾಜಿಸಲಾಗಿದೆ.

ಹೆಚ್ಚುವರಿಯಾಗಿ, ಮುಖ್ಯ ಯೋಜನೆಯಲ್ಲಿ ಸಿಪಿಥಾನ್ 3.11 ಅಭಿವೃದ್ಧಿ ಚಕ್ರದಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ನಾವು ಗಮನಿಸಬಹುದು, ಇದು ಕೆಲವು ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು 25% ರಷ್ಟು ಹೆಚ್ಚಿಸಲು ಸಾಧ್ಯವಾಗಿಸಿತು. ಉದಾಹರಣೆಗೆ, CPython 3.11 ನಲ್ಲಿ ಮೂಲ ಮಾಡ್ಯೂಲ್‌ಗಳ ಬೈಟ್‌ಕೋಡ್ ಸ್ಥಿತಿಯನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ದಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸಲಾಗಿದೆ, ಇದು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಉಡಾವಣೆಯನ್ನು 10-15% ರಷ್ಟು ವೇಗಗೊಳಿಸುತ್ತದೆ. ಫಂಕ್ಷನ್ ಕರೆಗಳನ್ನು ಗಮನಾರ್ಹವಾಗಿ ವೇಗಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರಮಾಣಿತ ಕಾರ್ಯಾಚರಣೆಗಳ ವಿಶೇಷ ವೇಗದ ವ್ಯಾಖ್ಯಾನಕಾರರನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಸಿಂಡರ್ ಮತ್ತು ಹಾಟ್‌ಪಿ ಯೋಜನೆಗಳಿಂದ ಸಿದ್ಧಪಡಿಸಲಾದ ಕೆಲವು ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ಪೋರ್ಟ್ ಮಾಡುವ ಕೆಲಸವೂ ನಡೆಯುತ್ತಿದೆ.

ಹೆಚ್ಚುವರಿಯಾಗಿ, ನೋಗಿಲ್ ಯೋಜನೆಯಲ್ಲಿ, ಜಾಗತಿಕ ಇಂಟರ್ಪ್ರಿಟರ್ ಲಾಕ್ (ಜಿಐಎಲ್, ಗ್ಲೋಬಲ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಲಾಕ್) ಇಲ್ಲದೆ ಸಿಪಿಥಾನ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾಯೋಗಿಕ ಮೋಡ್‌ನಲ್ಲಿ ಕೆಲಸ ನಡೆಯುತ್ತಿದೆ, ಇದು ವಿವಿಧ ಥ್ರೆಡ್‌ಗಳಿಂದ ಹಂಚಿದ ವಸ್ತುಗಳಿಗೆ ಸಮಾನಾಂತರ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ, ಇದು ಬಹು ಕಾರ್ಯಾಚರಣೆಗಳ ಸಮಾನಾಂತರತೆಯನ್ನು ತಡೆಯುತ್ತದೆ. - ಕೋರ್ ವ್ಯವಸ್ಥೆಗಳು. GIL ಸಮಸ್ಯೆಗೆ ಮತ್ತೊಂದು ಪರಿಹಾರವಾಗಿ, ಪ್ರಕ್ರಿಯೆಯೊಳಗೆ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರತಿ ಇಂಟರ್ಪ್ರಿಟರ್‌ಗೆ ಪ್ರತ್ಯೇಕ GIL ಅನ್ನು ಬಂಧಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ (ಹಲವಾರು ವ್ಯಾಖ್ಯಾನಕಾರರು ಒಂದು ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರಬಹುದು, ಆದರೆ ಅವರ ಸಮಾನಾಂತರ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ದಕ್ಷತೆಯು GIL ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ).

ಮೂಲ: opennet.ru

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