Ripgrep grep, ag, git grep, ucg, pt, sift (2016) ಗಿಂತ ವೇಗವಾಗಿದೆ
ಕಾಮೆಂಟ್ಗಳು
Mewayz Team
Editorial Team
ವೇಗದ ಅಗತ್ಯ: ಹುಡುಕಾಟವು ಅಡಚಣೆಯಾದಾಗ
ಸಾಫ್ಟ್ವೇರ್ ಡೆವಲಪ್ಮೆಂಟ್ ಮತ್ತು ಸಿಸ್ಟಮ್ಸ್ ಅಡ್ಮಿನಿಸ್ಟ್ರೇಷನ್ನ ಜಗತ್ತಿನಲ್ಲಿ, ಕೋಡ್ ಮತ್ತು ಪಠ್ಯ ಫೈಲ್ಗಳ ಪರ್ವತಗಳ ಮೂಲಕ ತ್ವರಿತವಾಗಿ ಹುಡುಕುವ ಸಾಮರ್ಥ್ಯವು ಐಷಾರಾಮಿ ಅಲ್ಲ; ಇದು ಅವಶ್ಯಕತೆಯಾಗಿದೆ. ವರ್ಷಗಳಿಂದ, `grep` ನಂತಹ ಉಪಕರಣಗಳು ವಿಶ್ವಾಸಾರ್ಹ ಕೆಲಸಗಾರಗಳಾಗಿವೆ. ನಂತರ ಹೊಸ ಪೀಳಿಗೆಯ `ಎಗ್` (ದಿ ಸಿಲ್ವರ್ ಸರ್ಚರ್) ಮತ್ತು ಇತರ ರೀತಿಯ "ಸರ್ಚ್ ಸೂಪರ್ಹೀರೋಗಳು" ಬಂದವು, ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸುವ ಮೂಲಕ ಮತ್ತು ಬುದ್ಧಿವಂತ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ನಿಯಂತ್ರಿಸುವ ಮೂಲಕ ಪ್ರಜ್ವಲಿಸುವ ವೇಗವನ್ನು ಭರವಸೆ ನೀಡಿತು. ಆದರೂ, 2016 ರಲ್ಲಿ, ಹೊಸ ಸ್ಪರ್ಧಿ ಹೊರಹೊಮ್ಮಿದರು ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮಾನದಂಡಗಳನ್ನು ನಿರ್ಣಾಯಕವಾಗಿ ಗೆದ್ದರು. ಆ ಪರಿಕರವು `ripgrep` (rg), ಮತ್ತು ಅದರ ಕಥೆಯು ಕೇಂದ್ರೀಕೃತ ಆಪ್ಟಿಮೈಸೇಶನ್ನಲ್ಲಿ ಮಾಸ್ಟರ್ಕ್ಲಾಸ್ ಆಗಿದ್ದು ಅದು Mewayz ನಂತಹ ಸಮರ್ಥ ವ್ಯಾಪಾರ ವೇದಿಕೆಗಳ ಹಿಂದಿನ ತತ್ವಶಾಸ್ತ್ರವನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ, ಅಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಡೆವಲಪರ್ ಅನುಭವವು ಅತ್ಯುನ್ನತವಾಗಿದೆ.
ರಿಪ್ಗ್ರೆಪ್ ಏಕೆ ಸ್ಪರ್ಧೆಯನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟರು
ಆಂಡ್ರ್ಯೂ ಗ್ಯಾಲಂಟ್ ರಚಿಸಿದ Ripgrep, ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರಿಕರಗಳ ಮೇಲೆ ಹೆಚ್ಚೆಚ್ಚು ಸುಧಾರಿಸಲಿಲ್ಲ; ಇದು ವಿಧಾನವನ್ನು ಮರುಚಿಂತನೆ ಮಾಡಿದೆ. ಇದರ ಪ್ರಮುಖ ವೇಗವು ತಂತ್ರಜ್ಞಾನಗಳ ಪ್ರಬಲ ಸಂಯೋಜನೆಯಿಂದ ಬಂದಿದೆ. ಮೊದಲನೆಯದಾಗಿ, ಇದು ರಸ್ಟ್ನ ರಿಜೆಕ್ಸ್ ಎಂಜಿನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ನಂಬಲಾಗದಷ್ಟು ವೇಗ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿದೆ. ಹೆಚ್ಚು ಮುಖ್ಯವಾಗಿ, ನಿಮ್ಮ `.gitignore` ನಿಯಮಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಗೌರವಿಸುವಾಗ ಪುನರಾವರ್ತಿತ ಡೈರೆಕ್ಟರಿ ಹುಡುಕಾಟಗಳಿಗೆ `ripgrep` ಡೀಫಾಲ್ಟ್ ಆಗುತ್ತದೆ, ಬಿಲ್ಡ್ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್ಗಳು ಅಥವಾ ಅವಲಂಬನೆಗಳ ಮೂಲಕ ಹುಡುಕುವ ಚಕ್ರಗಳನ್ನು ನೀವು ಎಂದಿಗೂ ವ್ಯರ್ಥ ಮಾಡಬೇಡಿ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಸರಿಯಾದ ಹುಡುಕಾಟ ತಂತ್ರವನ್ನು ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ ಆಯ್ಕೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವು ಅದರ ಅತ್ಯಂತ ಗಮನಾರ್ಹವಾದ ತಾಂತ್ರಿಕ ಪ್ರಯೋಜನವಾಗಿದೆ. ಅಕ್ಷರಶಃ ತಂತಿಗಳಿಗಾಗಿ, ಇದು ಟೆಡ್ಡಿ ಎಂಬ ಹೈಪರ್-ಆಪ್ಟಿಮೈಸ್ಡ್ SIMD ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಸಂಕೀರ್ಣವಾದ ರಿಜೆಕ್ಸ್ ಮಾದರಿಗಳಿಗೆ, ಇದು ಮನಬಂದಂತೆ ಸೂಕ್ತವಾದ ಎಂಜಿನ್ಗೆ ಬದಲಾಗುತ್ತದೆ. ಈ ಬುದ್ಧಿವಂತ ರೂಟಿಂಗ್ ಎಂದರೆ ಅದು ಯಾವಾಗಲೂ ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಪ್ರಶ್ನೆಗೆ ಸಾಧ್ಯವಿರುವ ವೇಗದ ವಿಧಾನವನ್ನು ಬಳಸುತ್ತದೆ.
"ರಿಪ್ಗ್ರೆಪ್ {grep, ag, git grep, ucg, pt, sift} ಗಿಂತ ವೇಗವಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ರಸ್ಟ್ನ ರಿಜೆಕ್ಸ್ ಎಂಜಿನ್ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿದೆ ಏಕೆಂದರೆ ಇದು ಸೀಮಿತ ಸ್ವಯಂಚಾಲಿತ, SIMD ಮತ್ತು ಆಕ್ರಮಣಕಾರಿ ಅಕ್ಷರಶಃ ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಹುಡುಕಾಟವನ್ನು ಅತ್ಯಂತ ವೇಗವಾಗಿ ಮಾಡಲು ಬಳಸುತ್ತದೆ." - ಆಂಡ್ರ್ಯೂ ಗ್ಯಾಲಂಟ್, ರಿಪ್ಗ್ರೆಪ್ ಸೃಷ್ಟಿಕರ್ತ.
ಮನಸ್ಸನ್ನು ಬದಲಾಯಿಸಿದ ಮಾನದಂಡ
ಲೇಖನದ ಶೀರ್ಷಿಕೆಯ ಆಧಾರವಾಗಿರುವ ಪ್ರಸಿದ್ಧ 2016 ಮಾನದಂಡವು ಸಮಗ್ರವಾಗಿದೆ. ಇದು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ನೈಜ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಹುಡುಕಾಟ ಸಾಧನಗಳನ್ನು ಪರೀಕ್ಷಿಸಿದೆ: ಕೋಡ್ನ ದೊಡ್ಡ ಡೈರೆಕ್ಟರಿಯನ್ನು ಹುಡುಕುವುದು, ಅಕ್ಷರಶಃ ಪದಕ್ಕಾಗಿ ಬೇಟೆಯಾಡುವುದು, ಸಂಕೀರ್ಣ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸುವುದು ಮತ್ತು ಬೃಹತ್ ಏಕ ಫೈಲ್ಗಳ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡುವುದು. Ripgrep ಸತತವಾಗಿ ಪಟ್ಟಿಯಲ್ಲಿ ಅಗ್ರಸ್ಥಾನದಲ್ಲಿದೆ. ವಿಶೇಷ ಪರಿಕರಗಳು ಒಂದೇ, ಕಿರಿದಾದ ವಿಭಾಗದಲ್ಲಿ ಗೆಲ್ಲಬಹುದಾದರೂ, `ರಿಪ್ಗ್ರೆಪ್' ಬೋರ್ಡ್ನಾದ್ಯಂತ ಉತ್ತಮವಾಗಿದೆ. ಈ ಸ್ಥಿರ, ವಿಶ್ವಾಸಾರ್ಹ ಕಾರ್ಯಕ್ಷಮತೆಯೇ ಅದನ್ನು ಅಂಟಿಕೊಳ್ಳುವಂತೆ ಮಾಡಿದೆ. ಡೆವಲಪರ್ಗಳು ಮತ್ತು ಸಿಸಾಡ್ಮಿನ್ಗಳು `ರಿಪ್ಗ್ರೆಪ್~ ಅನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುವುದರಿಂದ ವಿಭಿನ್ನ ಉದ್ಯೋಗಗಳಿಗೆ ವಿಭಿನ್ನ ಸಾಧನಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಮಾನಸಿಕ ಓವರ್ಹೆಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಎಂದು ಕಂಡುಹಿಡಿದಿದೆ. ಆಧುನಿಕ ಅಭಿವೃದ್ಧಿ ವರ್ಕ್ಫ್ಲೋನಲ್ಲಿ, ವೇಗ ಮತ್ತು ಸಂದರ್ಭ-ಸ್ವಿಚಿಂಗ್ ನಿರ್ಣಾಯಕವಾಗಿದೆ, ಎಲ್ಲಾ ಹುಡುಕಾಟ ಅಗತ್ಯಗಳಿಗಾಗಿ ಒಂದು ವಿಶ್ವಾಸಾರ್ಹ, ವೇಗದ ಸಾಧನವನ್ನು ಹೊಂದಿರುವ ಬೃಹತ್ ಉತ್ಪಾದಕತೆ ವರ್ಧಕವಾಗಿದೆ. ದಕ್ಷತೆಗಾಗಿ ಬಲವರ್ಧನೆಯ ಈ ತತ್ವವು Mewayz ನಲ್ಲಿ ನಾವು ಆಳವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೇವೆ, ಅಲ್ಲಿ ಏಕೀಕೃತ OS ಗೆ ವಿಭಿನ್ನ ವ್ಯವಹಾರ ಕಾರ್ಯಗಳನ್ನು ಸಂಯೋಜಿಸುವುದು ತಂಡಗಳನ್ನು ನಿರಂತರ ಅಪ್ಲಿಕೇಶನ್ ಸ್ವಿಚಿಂಗ್ನಿಂದ ಉಳಿಸುತ್ತದೆ.
ಕೇವಲ ಕಚ್ಚಾ ವೇಗಕ್ಕಿಂತ ಹೆಚ್ಚು: ಬಳಕೆದಾರರ ಅನುಭವದ ಅಂಚು
ಕಾರ್ಯಕ್ಷಮತೆ ಕೇವಲ ಮಿಲಿಸೆಕೆಂಡುಗಳಲ್ಲ; ಇದು ಒಟ್ಟಾರೆ ಅನುಭವದ ಬಗ್ಗೆ. ಬಾಕ್ಸ್ನ ಹೊರಗಿನ ಆಧುನಿಕ ಡೆವಲಪರ್ ವರ್ಕ್ಫ್ಲೋಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಸಂವೇದನಾಶೀಲ ಡಿಫಾಲ್ಟ್ಗಳೊಂದಿಗೆ Ripgrep ರವಾನಿಸಲಾಗಿದೆ. ಅದರ ನಯಗೊಳಿಸಿದ ಔಟ್ಪುಟ್, ಕ್ಲೀನ್ ಕಲರ್-ಕೋಡಿಂಗ್ ಮತ್ತು ಲೈನ್ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ, ಫಲಿತಾಂಶಗಳನ್ನು ತಕ್ಷಣವೇ ಓದುವಂತೆ ಮಾಡಿತು. ಅದರ ಕ್ಷಿಪ್ರ ಅಳವಡಿಕೆಗೆ ಕಾರಣವಾದ ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು:
- ಸಂಬಂಧಿತ, ವೇಗದ ಹುಡುಕಾಟಗಳಿಗಾಗಿ ಡೀಫಾಲ್ಟ್ ಆಗಿ `.gitignore` ಅನ್ನು ಗೌರವಿಸುವುದು.
- ಸ್ಪಷ್ಟವಾಗಿ ಕೇಳಿದಾಗ ಮಾತ್ರ ಮರೆಮಾಡಿದ ಫೈಲ್ಗಳು ಮತ್ತು ಬೈನರಿ ಫೈಲ್ಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತಿದೆ.
- ಯುನಿಕೋಡ್ ಬೆಂಬಲ "ಕೇವಲ ಕೆಲಸ ಮಾಡುತ್ತದೆ," ನಿರಾಶಾದಾಯಕ ಮಾದರಿ ವೈಫಲ್ಯಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
- ಸರಳ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಿರ್ದಿಷ್ಟ ಫೈಲ್ ಪ್ರಕಾರಗಳಲ್ಲಿ ಹುಡುಕುವ ಸಾಮರ್ಥ್ಯ (ಉದಾ., `rg -tjs 'ಫಂಕ್ಷನ್'`).
ಉತ್ತಮ ಡೀಫಾಲ್ಟ್ ಅನುಭವದ ಮೇಲಿನ ಈ ಗಮನವು ಡೆವಲಪರ್ಗಳು ಅಸ್ಪಷ್ಟ ಕಮಾಂಡ್-ಲೈನ್ ಫ್ಲ್ಯಾಗ್ಗಳನ್ನು ರಚಿಸಲು ಕಡಿಮೆ ಸಮಯವನ್ನು ವ್ಯಯಿಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚು ಸಮಯವನ್ನು ಉತ್ಪಾದಕವಾಗಿಸುತ್ತದೆ. ಇದು ಘರ್ಷಣೆಯನ್ನು ತೆಗೆದುಹಾಕಿತು, ಮಾಡ್ಯುಲರ್ ವ್ಯಾಪಾರ OS ಅನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ಕಾರ್ಯಾಚರಣೆಯ ಘರ್ಷಣೆಯನ್ನು ತೆಗೆದುಹಾಕಲು Mewayz ಗುರಿಯನ್ನು ಹೊಂದಿದೆ, ಅಲ್ಲಿ ಉಪಕರಣಗಳು ಮನಬಂದಂತೆ ಸಂಯೋಜನೆಗೊಳ್ಳುತ್ತವೆ, ತಂಡಗಳು ಭಿನ್ನಾಭಿಪ್ರಾಯದ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಬದಲು ತಮ್ಮ ಮುಖ್ಯ ಕೆಲಸದ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಲಾಸ್ಟಿಂಗ್ ಲೆಗಸಿ: ಒಂದು ವೈಶಿಷ್ಟ್ಯವಾಗಿ ವೇಗ
2016 ರ ಮಾನದಂಡವು ಸಮಯಕ್ಕೆ ಕೇವಲ ಸ್ನ್ಯಾಪ್ಶಾಟ್ ಆಗಿರಲಿಲ್ಲ; ಇದು ನಿರೀಕ್ಷೆಗಳ ಬದಲಾವಣೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ನಾಟಕೀಯ ಫಲಿತಾಂಶಗಳೊಂದಿಗೆ ಆಧುನಿಕ ಯುಗಕ್ಕೆ ಅಡಿಪಾಯದ ಡೆವಲಪರ್ ಉಪಕರಣಗಳನ್ನು ಮರು-ಇಂಜಿನಿಯರಿಂಗ್ ಮಾಡಬಹುದೆಂದು Ripgrep ಸಾಬೀತುಪಡಿಸಿತು. ಉಪಕರಣದಲ್ಲಿ, ಕಚ್ಚಾ ವೇಗವು ಆಳವಾದ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ ಎಂದು ಅದರ ಯಶಸ್ಸು ಒತ್ತಿಹೇಳುತ್ತದೆ-ಇದು ಅಭಿವೃದ್ಧಿ ಪ್ರತಿಕ್ರಿಯೆ ಲೂಪ್ನಲ್ಲಿ ಸುಪ್ತತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಪರಿಶೋಧನೆ, ಡೀಬಗ್ ಮಾಡುವುದು ಮತ್ತು ಮರುಫಲಕ ಮಾಡುವುದು ಕಡಿಮೆ ಬೇಸರದ ಸಂಗತಿಯಾಗಿದೆ. ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ವ್ಯವಹಾರಗಳಿಗೆ, ಸಮರ್ಥ ಸಾಧನದ ಆಯ್ಕೆಯು ವೇಗ ಮತ್ತು ನೈತಿಕತೆಯ ಮೇಲೆ ನೇರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಅದೇ ಧಾಟಿಯಲ್ಲಿ, ವೇಗ ಮತ್ತು ಏಕೀಕರಣಕ್ಕಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ Mewayz ನಂತಹ ದಕ್ಷ ವ್ಯಾಪಾರ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದರಿಂದ ಸಾಂಸ್ಥಿಕ ಚುರುಕುತನವನ್ನು ಪರಿವರ್ತಿಸಬಹುದು. ಕೋಡ್ ಹುಡುಕುವ ಹರಿವನ್ನು `ರಿಪ್ಗ್ರೆಪ್` ಆಪ್ಟಿಮೈಸ್ ಮಾಡಿದಂತೆ, ಮೆವೇಜ್ ವ್ಯವಹಾರ ಮಾಹಿತಿಯ ಹರಿವನ್ನು ಉತ್ತಮಗೊಳಿಸುತ್ತದೆ, ತಂಡಗಳು ತಮ್ಮ ಪರಿಕರಗಳಿಗಾಗಿ ಕಾಯುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →