Ripgrep yɛ ntɛmntɛm sen grep, ag, git grep, ucg, pt, sift (2016) . | Mewayz Blog Skip to main content
Hacker News

Ripgrep yɛ ntɛmntɛm sen grep, ag, git grep, ucg, pt, sift (2016) .

Nsɛm a wɔka

15 min read Via burntsushi.net

Mewayz Team

Editorial Team

Hacker News

Ahoɔhare Ho Hia: Bere a Hwehwɛ Abɛyɛ Ahina

Wɔ wiase a softwea nkɔso ne nhyehyɛe sohwɛ mu no, tumi a wotumi hwehwɛ ntɛmntɛm wɔ mmepɔw a ɛwɔ mmara ne nsɛm fael mu no nyɛ ade a ɛyɛ fɛ; ɛyɛ ade a ɛho hia. Mfeɛ pii ni, nnwinnadeɛ te sɛ `grep` ayɛ adwuma apɔnkɔ a wɔgye wɔn di. Afei awo ntoatoaso foforo a "hwehwɛ superheroes" te sɛ `ag` (The Silver Searcher) ne afoforo bae, a wɔhyɛɛ ahoɔhare a ɛyɛ hyew ho bɔ denam bu a wobu wɔn ani gu version control directories so na wɔde anifere optimizations dii dwuma so. Nanso, wɔ afe 2016 mu no, akansifo foforo bae na odii nkonim denneennen wɔ adwumayɛ ho nhyehyɛe ahorow no mu. Saa adwinnade no ne `ripgrep` (rg), na n'asɛm no yɛ masterclass wɔ focused optimization a ɛkyerɛ nyansapɛ a ɛwɔ adwumayɛ platform ahorow a etu mpɔn te sɛ Mewayz, baabi a adwumayɛ ne developer osuahu yɛ ade titiriw.

Nea enti a Ripgrep Gyaw Akansie no Akyi

Ripgrep, a Andrew Gallant na ɔyɛɛ no, annya nkɔsoɔ nkakrankakra wɔ nnwinnadeɛ a ɛwɔ hɔ dada no so kɛkɛ; ɛsan susuw ɔkwan a wɔfa so yɛ no ho. Ne ahoɔhare titiriw no fi mfiridwuma mu nneɛma a wɔaka abom a tumi wom. Nea edi kan no, ɛde Rust regex engine a ɛyɛ ntɛmntɛm na ahobammɔ wom a ɛyɛ nwonwa na edi dwuma. Nea ɛho hia kɛse no, `ripgrep` defaults kɔ recursive directory searches bere a automatically obu wo `.gitignore` mmara, hwɛ hu sɛ worensɛe cycles da wɔ build artifacts anaa dependencies mu. Mfaso a ɛho hia sen biara a ɛwɔ mfiridwuma mu ne sɛnea etumi de nyansa paw ɔkwan a ɛfata a wɔfa so hwehwɛ nneɛma. Wɔ nhama ankasa ho no, ɛde SIMD algorithm a wɔayɛ no yiye a wɔfrɛ no Teddy di dwuma. Wɔ regex nhyehyɛe a ɛyɛ den ho no, ɛdan kɔ engine a ɛfata so a ɛnyɛ den. Saa kwan a nyansa wom yi kyerɛ sɛ ɛkame ayɛ sɛ ɛde ɔkwan a ɛyɛ ntɛm sen biara a wobɛfa so ama wo asɛmmisa pɔtee no redi dwuma bere nyinaa.

a wɔde ahyɛ mu "ripgrep yɛ ntɛmntɛm sen {grep, ag, git grep, ucg, pt, sift} efisɛ wɔasi wɔ Rust regex engine a ɛde finite automata, SIMD ne aggressive literal optimizations di dwuma de ma hwehwɛ yɛ ntɛmntɛm yiye no atifi." – Andrew Gallant, ɔbɔadeɛ a ɔyɛ ripgrep.
na ɛkyerɛ sɛ woayɛ

Nsusuwii a Ɛsesaa Adwene

Afe 2016 benchmark a agye din a ɛyɛ asɛm no asɛmti no nnyinaso no yɛɛ nea ɛkɔ akyiri. Ɛsɔɔ nnwinnade a wɔde hwehwɛ nneɛma hwɛe wɔ tebea horow pii a ɛyɛ nokware mu: ɛhwehwɛɛ mmara nsɛm a wɔahyehyɛ no kɛse mu, ɛhwehwɛ asɛmfua ankasa, de nsɛmfua a wɔde di dwuma daa a ɛyɛ den dii dwuma, ne fael biako akɛse a wɔde yiyi mu. Ripgrep dii kan wɔ nhyehyɛe ahorow no mu bere nyinaa. Bere a ebia nnwinnade titiriw bedi nkonim wɔ ɔfã biako a ɛyɛ teateaa mu no, `ripgrep` dii mu wɔ ɔkwan no nyinaa so. Saa dwumadi a ɛkɔ so daa na wotumi de ho to so yi ne nea ɛmaa ɛbataa ho. Developers ne sysadmins hunuu sɛ `ripgrep` a wɔgye toom no yi adwene mu mfasoɔ a ɛwɔ paw nnwinnadeɛ ahodoɔ ma nnwuma ahodoɔ no fi hɔ. Wɔ nnɛyi nkɔso adwumayɛ mu, baabi a ahoɔhare ne nsɛm a ɛfa ho a wɔsakra no ho hia no, adwinnade biako a wotumi de ho to so, ntɛmntɛm a wobenya ama hwehwɛ ahiade nyinaa yɛ adwumayɛ mu nkɔso kɛse. Saa nnyinasosɛm a ɛfa nkabom ma adwumayɛ ho yi yɛ deɛ yɛte aseɛ yie wɔ Mewayz, baabi a sɛ yɛde adwumayɛ dwumadie ahodoɔ a ɛsono emu biara ka bom yɛ OS a ɛyɛ baako a, ɛgye akuo firi application nsakraeɛ a ɛkɔ so daa mu.

Ɛboro Raw Speed Kwan: Ɔdefoɔ Osuahu Edge

Adwumayɛ nyɛ milisekɔn nko ara; ɛfa osuahu no nyinaa ho. Ripgrep de defaults a ntease wom a ɛne nnɛyi developer adwumayɛ nhyehyɛe hyia fii adaka no mu kɔe. Nea efi mu ba a wɔayɛ no fɛfɛɛfɛ, a kɔla a ɛho tew ne nkyerɛwde nɔma wom no maa wotumi kenkan nea efii mu bae no ntɛm ara. Nneɛma atitiriw a ɛboaa ma wogyee no ntɛmntɛm no bi ne:

  • Bu `.gitignore` default so ma hwehwɛ a ɛfata, ntɛmntɛm.
  • Fael a ahintaw ne fael a ɛwɔ binary a wɔhwehwɛ bere a wɔabisa no pefee nkutoo.
  • Unicode boa sɛ "ɛyɛ adwuma kɛkɛ," siw abasamtu nhwɛso huammɔdi ano.
  • Tumi a wode hwehwɛ fael ahodoɔ pɔtee bi mu denam kasamufa a ɛnyɛ den so (e.g., `rg -tjs 'function'`).

Saa adwene a wɔde sii default osuahu a ɛkorɔn so yi kyerɛ sɛ developers de bere kakraa bi yɛɛ ahyɛde-kwan frankaa a emu nna hɔ na wɔde bere pii yɛɛ adwuma. Ɛyii akasakasa, te sɛ sɛdeɛ Mewayz de asi n’ani so sɛ ɔbɛyi adwumayɛ mu akasakasa afiri hɔ denam modular adwumayɛ OS a ɔde bɛma a nnwinnadeɛ ka bom a ɛnyɛ den, na ɛma akuo ahodoɔ no tumi de wɔn adwene si wɔn adwuma titire so mmom sen sɛ wɔbɛhyehyɛ nhyehyɛeɛ a ɛnka bom.

Agyapadeɛ a Ɛtena Hɔ: Ahoɔhare sɛ Adeyɛ

Afe 2016 benchmark no nyɛ bere mu mfonini kɛkɛ; ɛkyerɛɛ nsakrae a aba wɔ akwanhwɛ ahorow mu. Ripgrep daa no adi sɛ wobetumi asan ayɛ fapem developer nnwinnade ama nnɛyi bere no a nea efi mu ba no yɛ nwonwa. Ne nkonimdi no sii so dua sɛ wɔ nnwinnade mu no, ahoɔhare a wɔmfa nhyehyɛ mu yɛ ade a emu dɔ —ɛtew latency so wɔ nkɔso feedback loop no mu, na ɛma nhwehwɛmu, debugging, ne refactoring nyɛ ɔbrɛ kɛse. Wɔ nnwuma a wɔreyɛ softwea fam no, nnwinnade a etu mpɔn a wɔpaw no nya ahoɔhare ne abrabɔ pa so nkɛntɛnso tẽẽ. Wɔ saa kwan koro no ara mu no, sɛ wopaw adwumayɛ nhyehyɛe a etu mpɔn te sɛ Mewayz, a wɔayɛ ama ahoɔhare ne nkabom a, ebetumi asakra ahyehyɛde no ahokeka. Sɛnea `ripgrep` yɛɛ sɛnea wɔhwehwɛ koodu no yiye no, Mewayz ma adwumayɛ ho nsɛm a ɛkɔ no yiye, hwɛ hu sɛ wɔrennyaw akuw ahorow no ntwɛn wɔn nnwinnade so.

💡 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 →

Nsɛmmisa a Wɔtaa Bisa

Ahoɔhare a Ɛho Hia: Bere a Hwehwɛ Abɛyɛ Ahina

Wɔ wiase a softwea nkɔso ne nhyehyɛe sohwɛ mu no, tumi a wotumi hwehwɛ ntɛmntɛm wɔ mmepɔw a ɛwɔ mmara ne nsɛm fael mu no nyɛ ade a ɛyɛ fɛ; ɛyɛ ade a ɛho hia. Mfeɛ pii ni, nnwinnadeɛ te sɛ `grep` ayɛ adwuma apɔnkɔ a wɔgye wɔn di. Afei awo ntoatoaso foforo a "hwehwɛ superheroes" te sɛ `ag` (The Silver Searcher) ne afoforo bae, a wɔhyɛɛ ahoɔhare a ɛyɛ hyew ho bɔ denam bu a wobu wɔn ani gu version control directories so na wɔde anifere optimizations dii dwuma so. Nanso, wɔ afe 2016 mu no, akansifo foforo bae na odii nkonim denneennen wɔ adwumayɛ ho nhyehyɛe ahorow no mu. Saa adwinnade no ne `ripgrep` (rg), na n'asɛm no yɛ masterclass wɔ focused optimization a ɛkyerɛ nyansapɛ a ɛwɔ adwumayɛ platform ahorow a etu mpɔn te sɛ Mewayz, baabi a adwumayɛ ne developer osuahu yɛ ade titiriw.

Nea enti a Ripgrep Gyaw Akansie no Akyi

Ripgrep, a Andrew Gallant na ɔyɛɛ no, annya nkɔsoɔ nkakrankakra wɔ nnwinnadeɛ a ɛwɔ hɔ dada no so kɛkɛ; ɛsan susuw ɔkwan a wɔfa so yɛ no ho. Ne ahoɔhare titiriw no fi mfiridwuma mu nneɛma a wɔaka abom a tumi wom. Nea edi kan no, ɛde Rust regex engine a ɛyɛ ntɛmntɛm na ahobammɔ wom a ɛyɛ nwonwa na edi dwuma. Nea ɛho hia kɛse no, `ripgrep` defaults kɔ recursive directory searches bere a automatically obu wo `.gitignore` mmara, hwɛ hu sɛ worensɛe cycles da wɔ build artifacts anaa dependencies mu. Mfaso a ɛho hia sen biara a ɛwɔ mfiridwuma mu ne sɛnea etumi de nyansa paw ɔkwan a ɛfata a wɔfa so hwehwɛ nneɛma. Wɔ nhama ankasa ho no, ɛde SIMD algorithm a wɔayɛ no yiye a wɔfrɛ no Teddy di dwuma. Wɔ regex nhyehyɛe a ɛyɛ den ho no, ɛdan kɔ engine a ɛfata so a ɛnyɛ den. Saa kwan a nyansa wom yi kyerɛ sɛ ɛkame ayɛ sɛ ɛde ɔkwan a ɛyɛ ntɛm sen biara a wobɛfa so ama wo asɛmmisa pɔtee no redi dwuma bere nyinaa.

Nsusuwii a Ɛsesaa Adwene

Afe 2016 benchmark a agye din a ɛyɛ asɛm no asɛmti no nnyinaso no yɛɛ nea ɛkɔ akyiri. Ɛsɔɔ nnwinnade a wɔde hwehwɛ nneɛma hwɛe wɔ tebea horow pii a ɛyɛ nokware mu: ɛhwehwɛɛ mmara nsɛm a wɔahyehyɛ no kɛse mu, ɛhwehwɛ asɛmfua ankasa, de nsɛmfua a wɔde di dwuma daa a ɛyɛ den dii dwuma, ne fael biako akɛse a wɔde yiyi mu. Ripgrep dii kan wɔ nhyehyɛe ahorow no mu bere nyinaa. Bere a ebia nnwinnade titiriw bedi nkonim wɔ ɔfã biako a ɛyɛ teateaa mu no, `ripgrep` dii mu wɔ ɔkwan no nyinaa so. Saa dwumadi a ɛkɔ so daa na wotumi de ho to so yi ne nea ɛmaa ɛbataa ho. Developers ne sysadmins hunuu sɛ `ripgrep` a wɔgye toom no yi adwene mu mfasoɔ a ɛwɔ paw nnwinnadeɛ ahodoɔ ma nnwuma ahodoɔ no fi hɔ. Wɔ nnɛyi nkɔso adwumayɛ mu, baabi a ahoɔhare ne nsɛm a ɛfa ho a wɔsakra no ho hia no, adwinnade biako a wotumi de ho to so, ntɛmntɛm a wobenya ama hwehwɛ ahiade nyinaa yɛ adwumayɛ mu nkɔso kɛse. Saa nnyinasosɛm a ɛfa nkabom ma adwumayɛ ho yi yɛ deɛ yɛte aseɛ yie wɔ Mewayz, baabi a sɛ yɛde adwumayɛ dwumadie ahodoɔ a ɛsono emu biara ka bom yɛ OS a ɛyɛ baako a, ɛgye akuo firi application nsakraeɛ a ɛkɔ so daa mu.

Ɛboro Raw Speed Kwan: Ɔdefoɔ Osuahu Edge

Adwumayɛ nyɛ milisekɔn nko ara; ɛfa osuahu no nyinaa ho. Ripgrep de defaults a ntease wom a ɛne nnɛyi developer adwumayɛ nhyehyɛe hyia fii adaka no mu kɔe. Nea efi mu ba a wɔayɛ no fɛfɛɛfɛ, a kɔla a ɛho tew ne nkyerɛwde nɔma wom no maa wotumi kenkan nea efii mu bae no ntɛm ara. Nneɛma atitiriw a ɛboaa ma wogyee no ntɛmntɛm no bi ne:

Agyapadeɛ a Ɛtena Hɔ: Ahoɔhare sɛ Adeyɛ

Afe 2016 benchmark no nyɛ bere mu mfonini kɛkɛ; ɛkyerɛɛ nsakrae a aba wɔ akwanhwɛ ahorow mu. Ripgrep daa no adi sɛ wobetumi asan ayɛ fapem developer nnwinnade ama nnɛyi bere no a nea efi mu ba no yɛ nwonwa. Ne nkonimdi no sii so dua sɛ wɔ nnwinnade mu no, ahoɔhare a wɔmfa nhyehyɛ mu yɛ ade a emu dɔ —ɛtew latency so wɔ nkɔso feedback loop no mu, na ɛma nhwehwɛmu, debugging, ne refactoring nyɛ ɔbrɛ kɛse. Wɔ nnwuma a wɔreyɛ softwea fam no, nnwinnade a etu mpɔn a wɔpaw no nya ahoɔhare ne abrabɔ pa so nkɛntɛnso tẽẽ. Wɔ saa kwan koro no ara mu no, sɛ wopaw adwumayɛ nhyehyɛe a etu mpɔn te sɛ Mewayz, a wɔayɛ ama ahoɔhare ne nkabom a, ebetumi asakra ahyehyɛde no ahokeka. Sɛnea `ripgrep` yɛɛ sɛnea wɔhwehwɛ koodu no yiye no, Mewayz ma adwumayɛ ho nsɛm a ɛkɔ no yiye, hwɛ hu sɛ wɔrennyaw akuw ahorow no ntwɛn wɔn nnwinnade so.

W'adwuma Nnwinnade Nyinaa wɔ Bea Baako

Gyae sɛ wobɛbɔ app ahorow pii. Mewayz ka nnwinnade 208 bom ma $49/ɔsram pɛ — efi inventory so kosi HR, booking so kosi analytics so. Ɛho nhia sɛ wɔde credit card fi ase.

Sɔ Mewayz Free → hwɛ