ಫೇಸ್ಬುಕ್ ತೆರೆದ ಮೂಲ ಹರ್ಮ್ಸ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎಂಜಿನ್

ಫೇಸ್ಬುಕ್ ತೆರೆದ ಮೂಲ ಹಗುರವಾದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎಂಜಿನ್ ಹರ್ಮ್ಸ್, ಚೌಕಟ್ಟಿನ ಆಧಾರದ ಮೇಲೆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಾಲನೆ ಮಾಡಲು ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ ಸ್ಥಳೀಯವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸಿ Android ವೇದಿಕೆಯಲ್ಲಿ. ಹರ್ಮ್ಸ್ ಬೆಂಬಲ ಅಂತರ್ನಿರ್ಮಿತ ಇಂದಿನ 0.60.2 ಬಿಡುಗಡೆಯಿಂದ ಪ್ರಾರಂಭವಾಗುವ ರಿಯಾಕ್ಟ್ ನೇಟಿವ್‌ನಲ್ಲಿ. ಸ್ಥಳೀಯ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಗಮನಾರ್ಹ ಸಂಪನ್ಮೂಲ ಬಳಕೆಗಾಗಿ ದೀರ್ಘ ಆರಂಭಿಕ ಸಮಯದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಯೋಜನೆಯನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಕೋಡ್ ಇವರಿಂದ ಬರೆಯಲ್ಪಟ್ಟಿದೆ C++ ನಲ್ಲಿ ಮತ್ತು MIT ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

ಹರ್ಮ್ಸ್ ಅನ್ನು ಬಳಸುವ ಅನುಕೂಲಗಳ ಪೈಕಿ, ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಾರಂಭದ ಸಮಯದಲ್ಲಿ ಕಡಿತ, ಮೆಮೊರಿ ಬಳಕೆಯಲ್ಲಿ ಇಳಿಕೆ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಗಾತ್ರದಲ್ಲಿ ಕಡಿತವಿದೆ. V8 ಅನ್ನು ಬಳಸುವಾಗ, ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವ ಹಂತಗಳು ಮೂಲ ಕೋಡ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುವ ಮತ್ತು ಹಾರಾಡುತ್ತ ಅದನ್ನು ಕಂಪೈಲ್ ಮಾಡುವ ಹಂತಗಳಾಗಿವೆ. ಹರ್ಮ್ಸ್ ಈ ಹಂತಗಳನ್ನು ನಿರ್ಮಾಣ ಹಂತಕ್ಕೆ ತರುತ್ತದೆ ಮತ್ತು ಕಾಂಪ್ಯಾಕ್ಟ್ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಬೈಟ್‌ಕೋಡ್ ರೂಪದಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ತಲುಪಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

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

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಸಂಸ್ಕರಣೆಯನ್ನು ಹಲವಾರು ಹಂತಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ. ಮೊದಲಿಗೆ, ಮೂಲ ಪಠ್ಯಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಕೋಡ್‌ನ ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ (ಹರ್ಮ್ಸ್ ಐಆರ್), ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಆಧರಿಸಿ ಎಸ್‌ಎಸ್‌ಎ (ಸ್ಥಿರ ಏಕ ನಿಯೋಜನೆ). ಮುಂದೆ, ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಆಪ್ಟಿಮೈಜರ್‌ನಲ್ಲಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ, ಇದು ಪ್ರೋಗ್ರಾಂನ ಮೂಲ ಶಬ್ದಾರ್ಥವನ್ನು ಸಂರಕ್ಷಿಸುವಾಗ ಪ್ರಾಥಮಿಕ ಮಧ್ಯಂತರ ಕೋಡ್ ಅನ್ನು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವಾಗಿ ಪರಿವರ್ತಿಸಲು ಫಾರ್ವರ್ಡ್ ಸ್ಟ್ಯಾಟಿಕ್ ಆಪ್ಟಿಮೈಸೇಶನ್ ತಂತ್ರಗಳನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ. ಕೊನೆಯ ಹಂತದಲ್ಲಿ, ನೋಂದಾಯಿತ ವರ್ಚುವಲ್ ಯಂತ್ರಕ್ಕಾಗಿ ಬೈಟ್‌ಕೋಡ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ.

ಎಂಜಿನ್ನಲ್ಲಿ ಬೆಂಬಲಿಸುತ್ತದೆ ECMAScript 2015 JavaScript ಮಾನದಂಡದ ಭಾಗವಾಗಿದೆ (ಅದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬೆಂಬಲಿಸುವುದು ಅಂತಿಮ ಗುರಿಯಾಗಿದೆ) ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಹೆಚ್ಚಿನ ರಿಯಾಕ್ಟ್ ಸ್ಥಳೀಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹೇಳಿಕೆಗಳು, ಪ್ರತಿಬಿಂಬ (ಪ್ರತಿಫಲಿತ ಮತ್ತು ಪ್ರಾಕ್ಸಿ), Intl API ಮತ್ತು RegExp ನಲ್ಲಿ ಕೆಲವು ಫ್ಲ್ಯಾಗ್‌ಗಳೊಂದಿಗೆ eval() ನ ಸ್ಥಳೀಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸದಿರಲು ಹರ್ಮ್ಸ್ ನಿರ್ಧರಿಸಿದೆ. ರಿಯಾಕ್ಟ್ ಸ್ಥಳೀಯ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಹರ್ಮ್ಸ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು, ಯೋಜನೆಗೆ "enableHermes: true" ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಿ. CLI ಮೋಡ್‌ನಲ್ಲಿ ಹರ್ಮ್ಸ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ, ಇದು ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ಅನಿಯಂತ್ರಿತ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಡೀಬಗ್ ಮಾಡಲು ಸೋಮಾರಿಯಾದ ಕಂಪೈಲೇಶನ್ ಮೋಡ್ ಲಭ್ಯವಿದೆ, ಇದು ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಪ್ರತಿ ಬಾರಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಈಗಾಗಲೇ ಸಾಧನದಲ್ಲಿರುವ ಫ್ಲೈನಲ್ಲಿ ಬೈಟ್‌ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.

ಅದೇ ಸಮಯದಲ್ಲಿ, ಫೇಸ್‌ಬುಕ್ Node.js ಮತ್ತು ಇತರ ಪರಿಹಾರಗಳಿಗಾಗಿ ಹರ್ಮ್ಸ್ ಅನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಲು ಯೋಜಿಸುವುದಿಲ್ಲ, ಕೇವಲ ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ (JIT ಬದಲಿಗೆ AOT ಸಂಕಲನವು ಮೊಬೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳ ಸಂದರ್ಭದಲ್ಲಿ ಅತ್ಯಂತ ಸೂಕ್ತವಾಗಿದೆ, ಇದು ಸೀಮಿತ RAM ಮತ್ತು ನಿಧಾನವಾದ ಫ್ಲ್ಯಾಶ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ). ಮೈಕ್ರೋಸಾಫ್ಟ್ ಉದ್ಯೋಗಿಗಳು ನಡೆಸಿದ ಪ್ರಾಥಮಿಕ ಕಾರ್ಯಕ್ಷಮತೆ ಪರೀಕ್ಷೆ ಬಹಿರಂಗಪಡಿಸಿದೆಹರ್ಮ್ಸ್ ಬಳಸುವಾಗ, Android ಗಾಗಿ Microsoft Office ಅಪ್ಲಿಕೇಶನ್ 1.1 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಬಳಕೆಗೆ ಲಭ್ಯವಾಗುತ್ತದೆ. ಪ್ರಾರಂಭದ ನಂತರ ಮತ್ತು 21.5MB RAM ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ V8 ಎಂಜಿನ್ ಅನ್ನು ಬಳಸುವಾಗ ಅದು ಪ್ರಾರಂಭಿಸಲು 1.4 ಸೆಕೆಂಡುಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಮೆಮೊರಿ ಬಳಕೆ 30MB ಆಗಿದೆ.

ಸೇರ್ಪಡೆ: ಫೇಸ್ಬುಕ್ ಪ್ರಕಟಿಸಲಾಗಿದೆ ಸ್ವಂತ ಪರೀಕ್ಷಾ ಫಲಿತಾಂಶಗಳು. ಮ್ಯಾಟರ್‌ಮೋಸ್ಟ್ ಅಪ್ಲಿಕೇಶನ್‌ನೊಂದಿಗೆ ಹರ್ಮ್ಸ್ ಅನ್ನು ಬಳಸುವಾಗ, ಕೆಲಸಕ್ಕಾಗಿ ಲಭ್ಯತೆಯನ್ನು ಪ್ರಾರಂಭಿಸುವ ಸಮಯ (ಟಿಟಿಐ, ಸಂವಹನ ಮಾಡುವ ಸಮಯ) 4.30 ರಿಂದ 2.01 ಸೆಕೆಂಡ್‌ಗಳಿಗೆ ಕಡಿಮೆಯಾಗಿದೆ, APK ಪ್ಯಾಕೇಜ್‌ನ ಗಾತ್ರವನ್ನು 41 ರಿಂದ 22 MB ಗೆ ಮತ್ತು ಮೆಮೊರಿ ಬಳಕೆ 185 ರಿಂದ 136 ಕ್ಕೆ ಕಡಿಮೆಯಾಗಿದೆ. MB.

ಮೂಲ: opennet.ru

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