QEMU ಮತ್ತು FFmpeg ಸ್ಥಾಪಕರು QuickJS ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎಂಜಿನ್ ಅನ್ನು ಪ್ರಕಟಿಸಿದರು

QEMU ಮತ್ತು FFmpeg ಯೋಜನೆಗಳನ್ನು ಸ್ಥಾಪಿಸಿದ ಫ್ರೆಂಚ್ ಗಣಿತಜ್ಞ ಫ್ಯಾಬ್ರಿಸ್ ಬೆಲ್ಲಾರ್ಡ್, ಪೈ ಸಂಖ್ಯೆಯನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ವೇಗವಾದ ಸೂತ್ರವನ್ನು ಸಹ ರಚಿಸಿದರು ಮತ್ತು ಇಮೇಜ್ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರು. ಬಿಪಿಜಿ, ಹೊಸ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಎಂಜಿನ್‌ನ ಮೊದಲ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಿದೆ QuickJS. ಎಂಜಿನ್ ಕಾಂಪ್ಯಾಕ್ಟ್ ಮತ್ತು ಇತರ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಏಕೀಕರಣಕ್ಕಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು C ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು MIT ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ. ಎಂಜಿನ್‌ನ ನಿರ್ಮಾಣವೂ ಲಭ್ಯವಿದೆ, ವೆಬ್‌ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ ಎಮ್‌ಸ್ಕ್ರಿಪ್ಟನ್ ಬಳಸಿ ಸಂಕಲಿಸಲಾಗಿದೆ ಮತ್ತು ಬ್ರೌಸರ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸೂಕ್ತವಾಗಿದೆ.

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನುಷ್ಠಾನ ಬೆಂಬಲಿಸುತ್ತದೆ ಮಾಡ್ಯೂಲ್‌ಗಳು, ಅಸಮಕಾಲಿಕ ಜನರೇಟರ್‌ಗಳು ಮತ್ತು ಪ್ರಾಕ್ಸಿಗಳು ಸೇರಿದಂತೆ ES2019 ವಿವರಣೆ. ಪ್ರಮಾಣಿತವಲ್ಲದ ಗಣಿತವನ್ನು ಐಚ್ಛಿಕವಾಗಿ ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ ಹಿಗ್ಗುವಿಕೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ಗಾಗಿ, ಬಿಗ್‌ಇಂಟ್ ಮತ್ತು ಬಿಗ್‌ಫ್ಲೋಟ್ ಪ್ರಕಾರಗಳು, ಹಾಗೆಯೇ ಆಪರೇಟರ್ ಓವರ್ಲೋಡ್. QuickJS ನ ಕಾರ್ಯಕ್ಷಮತೆ ಗಮನಾರ್ಹವಾಗಿದೆ ಗಿಂತ ಉತ್ತಮವಾಗಿದೆ ಲಭ್ಯವಿರುವ ಸಾದೃಶ್ಯಗಳು, ಉದಾಹರಣೆಗೆ, ಪರೀಕ್ಷೆಯಲ್ಲಿ
ಬೆಂಚ್-ವಿ8 ಎಂಜಿನ್‌ಗಿಂತ ಮುಂದಿದೆ XS 35%ನಲ್ಲಿ, ಡಕ್ ಟೇಪ್ ದ್ವಿಗುಣಕ್ಕಿಂತ ಹೆಚ್ಚು ಜೆರ್ರಿ ಸ್ಕ್ರಿಪ್ಟ್ ಮೂರು ಬಾರಿ ಮತ್ತು ಮುಜೆಎಸ್ ಏಳು ಬಾರಿ.

ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಎಂಜಿನ್ ಅನ್ನು ಎಂಬೆಡ್ ಮಾಡಲು ಲೈಬ್ರರಿಯ ಜೊತೆಗೆ, ಯೋಜನೆಯು qjs ಇಂಟರ್ಪ್ರಿಟರ್ ಅನ್ನು ಸಹ ನೀಡುತ್ತದೆ, ಇದನ್ನು ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಬಳಸಬಹುದು. ಇದಲ್ಲದೆ, qjsc ಕಂಪೈಲರ್ ಲಭ್ಯವಿದೆ, ಬಾಹ್ಯ ಅವಲಂಬನೆಗಳ ಅಗತ್ಯವಿಲ್ಲದ ಸ್ಟ್ಯಾಂಡ್-ಅಲೋನ್ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗೆ ಸೂಕ್ತವಾದ ಔಟ್‌ಪುಟ್ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ.

ಮುಖ್ಯ ಲಕ್ಷಣಗಳು:

  • ಕಾಂಪ್ಯಾಕ್ಟ್ ಮತ್ತು ಇತರ ಯೋಜನೆಗಳಿಗೆ ಸಂಯೋಜಿಸಲು ಸುಲಭ. ಅಸೆಂಬ್ಲಿಗಾಗಿ ಬಾಹ್ಯ ಅವಲಂಬನೆಗಳ ಅಗತ್ಯವಿಲ್ಲದ ಕೆಲವು ಸಿ ಫೈಲ್‌ಗಳನ್ನು ಕೋಡ್ ಒಳಗೊಂಡಿದೆ. ಸರಳವಾದ ಕಂಪೈಲ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್ ಸುಮಾರು 190 KB ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ;
  • ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಕಡಿಮೆ ಆರಂಭಿಕ ಸಮಯ. ಸಾಮಾನ್ಯ ಡೆಸ್ಕ್‌ಟಾಪ್ PC ಯ ಏಕೈಕ ಕೋರ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ 56 ಸಾವಿರ ECMAScript ಹೊಂದಾಣಿಕೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಹಾದುಹೋಗುವುದು ಸುಮಾರು 100 ಸೆಕೆಂಡುಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ರನ್ಟೈಮ್ ಆರಂಭವು 300 ಮೈಕ್ರೊಸೆಕೆಂಡ್ಗಳಿಗಿಂತ ಕಡಿಮೆ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ;
  • ES2019 ವಿವರಣೆಗೆ ಬಹುತೇಕ ಸಂಪೂರ್ಣ ಬೆಂಬಲ ಮತ್ತು ಅನುಬಂಧ B ಗಾಗಿ ಸಂಪೂರ್ಣ ಬೆಂಬಲ, ಇದು ಪರಂಪರೆ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಘಟಕಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ;
  • ECMAScript ಟೆಸ್ಟ್ ಸೂಟ್‌ನಿಂದ ಎಲ್ಲಾ ಪರೀಕ್ಷೆಗಳ ಸಂಪೂರ್ಣ ಉತ್ತೀರ್ಣ;
  • ಬಾಹ್ಯ ಅವಲಂಬನೆಗಳಿಲ್ಲದೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳಾಗಿ Javascript ಕೋಡ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು ಬೆಂಬಲ;
  • ಆವರ್ತಕ ಶುಚಿಗೊಳಿಸುವಿಕೆ ಇಲ್ಲದೆ ಉಲ್ಲೇಖ ಎಣಿಕೆಯ ಆಧಾರದ ಮೇಲೆ ಕಸ ಸಂಗ್ರಾಹಕ, ಇದು ನಮಗೆ ಊಹಿಸಬಹುದಾದ ನಡವಳಿಕೆಯನ್ನು ಸಾಧಿಸಲು ಮತ್ತು ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿತು;
  • JavaScript ನಲ್ಲಿ ಗಣಿತದ ಲೆಕ್ಕಾಚಾರಗಳಿಗಾಗಿ ವಿಸ್ತರಣೆಗಳ ಒಂದು ಸೆಟ್;
  • ಆಜ್ಞಾ ಸಾಲಿನ ಮೋಡ್‌ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಶೆಲ್, ಸಂದರ್ಭೋಚಿತ ಕೋಡ್ ಹೈಲೈಟ್ ಮಾಡುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ;
  • C ಲೈಬ್ರರಿಯ ಮೇಲೆ ಹೊದಿಕೆಗಳನ್ನು ಹೊಂದಿರುವ ಕಾಂಪ್ಯಾಕ್ಟ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಲೈಬ್ರರಿ.

ಯೋಜನೆಯು ಕ್ವಿಕ್‌ಜೆಎಸ್‌ನಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಮೂರು ಜತೆಗೂಡಿದ ಸಿ ಲೈಬ್ರರಿಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದೆ ಮತ್ತು ವೈಯಕ್ತಿಕ ಬಳಕೆಗೆ ಸೂಕ್ತವಾಗಿದೆ:

  • libregexp - ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ವೇಗದ ಅನುಷ್ಠಾನ, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ES 2019 ವಿವರಣೆಯೊಂದಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ;
  • ಲಿಬ್ಯುನಿಕೋಡ್ - ಯುನಿಕೋಡ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಕಾಂಪ್ಯಾಕ್ಟ್ ಲೈಬ್ರರಿ;
  • libbf - ಅನಿಯಂತ್ರಿತ ನಿಖರವಾದ ಫ್ಲೋಟಿಂಗ್ ಪಾಯಿಂಟ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಮತ್ತು ನಿಖರವಾದ ಪೂರ್ಣಾಂಕದೊಂದಿಗೆ ಅತೀಂದ್ರಿಯ ಕಾರ್ಯಗಳ ಅನುಷ್ಠಾನ.

ಮೂಲ: opennet.ru

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