ಪೈಥಾನ್ 2.7 ಗೆ ಬೆಂಬಲದ ಅಂತ್ಯದ ಜೊತೆಗೆ, ಮತ್ತೊಂದು ಪ್ರಮುಖ ಬದಲಾವಣೆಯು ಸೇರ್ಪಡೆಯಾಗಿದೆ
ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕೋಡ್ ಅನ್ನು ಪ್ರೊಫೈಲಿಂಗ್ ಮಾಡುವುದರಿಂದ ಹೆಚ್ಚಿನ ಲೆಕ್ಕಾಚಾರದ ಸಮಯವನ್ನು ಯುಸ್_ರೆಡ್ಯೂಸ್ ಮತ್ತು ಕ್ಯಾಟ್ಪಿಕೆಜಿಸ್ಪ್ಲಿಟ್ ಫಂಕ್ಷನ್ಗಳನ್ನು ಪುನರಾವರ್ತಿತ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳೊಂದಿಗೆ ಕರೆಯಲು ಖರ್ಚು ಮಾಡಲಾಗಿದೆ ಎಂದು ತೋರಿಸಿದೆ (ಉದಾಹರಣೆಗೆ, ಕ್ಯಾಟ್ಪಿಕೆಜಿಸ್ಪ್ಲಿಟ್ ಕಾರ್ಯವನ್ನು 1 ರಿಂದ 5 ಮಿಲಿಯನ್ ಬಾರಿ ಕರೆಯಲಾಯಿತು). ವಿಷಯಗಳನ್ನು ವೇಗಗೊಳಿಸಲು, ನಿಘಂಟುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಈ ಕಾರ್ಯಗಳ ಫಲಿತಾಂಶಗಳ ಸಂಗ್ರಹವನ್ನು ಬಳಸಲಾಗಿದೆ. ಸಂಗ್ರಹ ಸಂಗ್ರಹಣೆಗೆ ಉತ್ತಮ ಆಯ್ಕೆಯೆಂದರೆ ಅಂತರ್ನಿರ್ಮಿತ lru_cache ಕಾರ್ಯ, ಆದರೆ ಇದು 3.2 ರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಪೈಥಾನ್ ಬಿಡುಗಡೆಗಳಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿತ್ತು. ಹಿಂದಿನ ಆವೃತ್ತಿಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಾಗಿ, lru_cache ಅನ್ನು ಬದಲಿಸಲು ಸ್ಟಬ್ ಅನ್ನು ಸೇರಿಸಲಾಯಿತು, ಆದರೆ ಪೋರ್ಟೇಜ್ 2.7 ನಲ್ಲಿ ಪೈಥಾನ್ 3.0 ಗೆ ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸುವ ನಿರ್ಧಾರವು ಕಾರ್ಯವನ್ನು ಹೆಚ್ಚು ಸರಳಗೊಳಿಸಿತು ಮತ್ತು ಈ ಲೇಯರ್ ಇಲ್ಲದೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಸಿತು.
ಸಂಗ್ರಹವನ್ನು ಬಳಸುವುದರಿಂದ ಥಿಂಕ್ಪ್ಯಾಡ್ X220 ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ “ಎಮರ್ಜ್ -uDvpU —with-bdeps=y @world” ಕಾರ್ಯಾಚರಣೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯವನ್ನು 5 ನಿಮಿಷ 20 ಸೆಕೆಂಡುಗಳಿಂದ 3 ನಿಮಿಷ 16 ಸೆಕೆಂಡುಗಳಿಗೆ (63%) ಕಡಿಮೆಗೊಳಿಸಿತು. ಇತರ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿನ ಪರೀಕ್ಷೆಗಳು ಕನಿಷ್ಠ 48% ರಷ್ಟು ಕಾರ್ಯಕ್ಷಮತೆಯ ಹೆಚ್ಚಳವನ್ನು ತೋರಿಸಿದೆ.
ಬದಲಾವಣೆಯನ್ನು ಸಿದ್ಧಪಡಿಸಿದ ಡೆವಲಪರ್ ಸಹ ಸಿ++ ಅಥವಾ ರಸ್ಟ್ನಲ್ಲಿ ಅವಲಂಬನೆ ರೆಸಲ್ಯೂಶನ್ ಕೋಡ್ನ ಮೂಲಮಾದರಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸಿದರು, ಆದರೆ ಕಾರ್ಯವು ತುಂಬಾ ಕಷ್ಟಕರವಾಗಿತ್ತು ಏಕೆಂದರೆ ಇದಕ್ಕೆ ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಕೋಡ್ ಅನ್ನು ಪೋರ್ಟ್ ಮಾಡಬೇಕಾಗಿತ್ತು ಮತ್ತು ಫಲಿತಾಂಶವು ಶ್ರಮಕ್ಕೆ ಯೋಗ್ಯವಾಗಿದೆ ಎಂಬ ಅನುಮಾನವಿತ್ತು. .
ಮೂಲ: opennet.ru