Ripgrep na fast pas grep, ag, git grep, ucg, pt, sift (2016) | Mewayz Blog Skip to main content
Hacker News

Ripgrep na fast pas grep, ag, git grep, ucg, pt, sift (2016)

Kɔmɛnt dɛn

16 min read Via burntsushi.net

Mewayz Team

Editorial Team

Hacker News

Di Nid fɔ Spid: We Sɔch Bi Bɔtulnɛk

Insay di wɔl fɔ softwea divɛlɔpmɛnt ɛn sistɛm administreshɔn, di ebul fɔ fɛn kwik kwik wan tru mawnten dɛn we gɛt kɔd ɛn tɛks fayl dɛn nɔto lɔjishɔn; na sɔntin we pɔsin fɔ du. Fɔ lɔng tɛm, tul dɛn lɛk `grep` dɔn bi di wok ɔs dɛn we dɛn kin trɔst. Dɔn wan nyu jɛnɛreshɔn fɔ "search superheroes" lɛk `ag` (Di Silva Searcher) ɛn ɔda wan dɛn kam, we prɔmis blazing spid bay we dɛn nɔ de tek tɛm wit di vɛshɔn kɔntrol dairektrɔ dɛn ɛn leva kleva ɔptimayzeshɔn. Bɔt stil, insay 2016, wan nyu kɔntɛnda bin kɔmɔt ɛn i bin rili win di pefɔmɛns bɛnchmakɛt dɛn. Dat tul na `ripgrep` (rg), ɛn in stori na masta klas insay fɔs ɔptimayzeshɔn we de mirɔ di filɔsofi biɛn efishɔnal biznɛs pletfɔm dɛn lɛk Mewayz, usay pefɔmɛns ɛn divɛlɔpa ɛkspiriɛns na di impɔtant tin.

Wetin mek Ripgrep Lɛf di Kɔmpitishɔn Biɛn

Ripgrep, we Andru Gallant mek, nɔ bin jɔs impɔtant smɔl smɔl pan di tul dɛn we bin dɔn de; i bin tink bak bɔt di we aw dɛn bin de du am. I kɔr spid kɔmɔt frɔm wan pawaful kɔmbaynshɔn fɔ teknɔlɔji dɛn. Fɔs, i de yuz Rust in regex injin, we rili fast ɛn sef. Mɔ impɔtant, `ripgrep` difɔlt to rikɔrsiv dairektrɔ sɔch we i de ɔtomɛtik rɛspɛkt yu `.gitignore` lɔ dɛn, fɔ mek shɔ se yu nɔ ɛva west saykl dɛn we yu de fɛn tru bil artifakt ɔ dipɛnsin. Di tin we impɔtant pas ɔl na di tɛknik we i gɛt na di we aw i ebul fɔ pik di rayt we fɔ fɛn tin wit sɛns. Fɔ rial string, i de yuz wan haypa-ɔptimayz SIMD algɔrithm we dɛn kɔl Tɛdi. Fɔ kɔmpleks regex patɛn, i de swich seamles to di aprɔpriet injin. Dis intɛligent routin min se i de yuz di fastest we pɔsibul fɔ yu spɛshal kwɛstyɔn ɔlmost ɔltɛm.

"ripgrep fast pas {grep, ag, git grep, ucg, pt, sift} bikɔs dɛn bil am pan tap pan Rust in regex injin we de yuz fayn ɔtomɛta, SIMD ɛn agresiv litral ɔptimayzeshɔn fɔ mek sɔch rili fast." – Andru Gallant, we mek ripgrep. we yu kin yuz

Di Bɛnchmak We Chenj Maynd

Di fambul 2016 bɛnchmak, we de fɔm di bies fɔ di atikul in taytul, bin kɔmprɛhnsiv. I bin tɛst di tin dɛn we dɛn kin yuz fɔ fɛn tin dɛn fɔ no bɔt difrɛn difrɛn tin dɛn we rili apin: fɔ fɛn wan big dairektrɔ we gɛt kɔd, fɔ fɛn wan rial wɔd, fɔ yuz kɔmpleks rɛgyula ɛksprɛshɔn dɛn, ɛn fɔ filta tru big big wan fayl dɛn. Ripgrep bin de bifo pan di chɛt dɛn ɔltɛm. Wail spɛshal tul dɛn kin win insay wan, smɔl kategori, `ripgrep` bin ɛksɛl akɔdin to di bɔd. Dis kɔnsistɛns, rilibul pɔfɔmɛnshɔn na in mek i stik. Divεlכpεr εn sysadmin dεm fain se fכ adopt `ripgrep` de εliminet di mental ovahεd fכ pik difrεn tul dεm fכ difrεn wok dεm. Insay wan mɔdan divɛlɔpmɛnt wokflɔ, usay spid ɛn kɔntɛks-switch impɔtant, fɔ gɛt wan rilibul, fast tul fɔ ɔl di sɔch nid dɛn na big big prodaktiviti bɔst. Dis prinsipul fɔ kɔnsolidɛshɔn fɔ efyushɔn na wan we wi rili ɔndastand na Mewayz, usay fɔ intagret difrɛn biznɛs fɛnshɔn dɛn insay wan yunifayd OS de sev tim dɛn frɔm kɔnstant aplikeshɔn swichin.

Mɔ pas Jɔs Raw Spid: Di Yuz Ɛkspiriɛns Ɛj

Pɔfɔmɛnshɔn nɔto jɔs bɔt milisekɔnd; na bɔt di ɔl ɛkspiriɛns. Ripgrep bin ship wit sɛns difɔlt dɛn we bin mach di mɔdan divɛlɔpa wokflɔ dɛn aut ɔf di bɔks. I bin polish autput, wit klin kɔlɔ-kɔdin ɛn layn nɔmba dɛn, bin mek di rizɔlt dɛn izi fɔ rid wantɛm wantɛm. Di men tin dɛn we bin ɛp fɔ mek dɛn adopt am kwik kwik wan na:

    we dɛn kɔl
  • Rɛspɛkt `.gitignore` bay difɔlt fɔ rilevɛns, fast sɔch.
  • Fɔ fɛn fayl dɛn we ayd ɛn baynary fayl dɛn nɔmɔ we dɛn aks am klia wan.
  • Yunikɔd sɔpɔt we "jɔs de wok," we de mek di patɛn nɔ wok we de mek pɔsin fil bad.
  • Di abiliti fɔ fɛn insay spɛshal fayl tayp dɛn we yu de yuz wan simpul sɛntaks (e.g., `rg -tjs 'function'`).

Dis fɔs pan wan supia difɔlt ɛkspiriɛns min se divɛlɔpa dɛn spɛn smɔl tɛm fɔ kraft ɔbskɔr kɔmand-layn flag ɛn mɔ tɛm fɔ bi prodaktiv. I pul frikshɔn, jɔs lɛk aw Mewayz aim fɔ pul ɔpreshɔnal frikshɔn bay we i de gi wan modular biznɛs OS usay tul dɛn de intagret simpul wan, we de alaw tim dɛn fɔ pe atɛnshɔn pan dɛn kɔr wok instead fɔ kɔnfigyut disjɔyn sistɛm dɛn.

Di Lastin Lɛgsi: Spid as Ficha

Di 2016 bɛnchmak nɔ bin jɔs bi wan snɛpsho insay tɛm; i bin sho se di tin dɛn we dɛn bin de op fɔ dɔn chenj. Ripgrep pruv se fawndeshɔn divɛlɔpa tul dɛn kin ri-ɛnjɛnɛri fɔ di mɔdan tɛm wit dramatik rizɔlt. I sakses ɔndaskayn se insay tul, raw spid na wan dip ficha—i de ridyus latɛns na di divɛlɔpmɛnt fidbak lɔp, we de mek ɛksplɔrɔshɔn, dibɔg, ɛn rifaktɔrin nɔ de taya. Fɔ biznɛs dɛn we de bil sɔftwɛl, di chuk fɔ efyushɔn tul gɛt dairekt impak pan velositi ɛn moral. Na di sem we, fɔ pik wan efishɔnal biznɛs ɔpreshɔn sistɛm lɛk Mewayz, we dɛn mek fɔ spid ɛn intagreshɔn, kin chenj ɔganayzeshɔnal agiliti. Jɔs lɛk aw `ripgrep` bin ɔptimayz di flɔ fɔ fɛn kɔd, Mewayz bin ɔptimayz di flɔ fɔ biznɛs infɔmeshɔn, fɔ mek shɔ se tim dɛn nɔ lɛf fɔ wet pan dɛn tul dɛn.

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

Kwɛshɔn dɛn we dɛn kin aks bɔku tɛm

Di Nid fɔ Spid: We Sɔch Bi Bɔtulnɛk

Insay di wɔl fɔ softwea divɛlɔpmɛnt ɛn sistɛm administreshɔn, di ebul fɔ fɛn kwik kwik wan tru mawnten dɛn we gɛt kɔd ɛn tɛks fayl dɛn nɔto lɔjishɔn; na sɔntin we pɔsin fɔ du. Fɔ lɔng tɛm, tul dɛn lɛk `grep` dɔn bi di wok ɔs dɛn we dɛn kin trɔst. Dɔn wan nyu jɛnɛreshɔn fɔ "search superheroes" lɛk `ag` (Di Silva Searcher) ɛn ɔda wan dɛn kam, we prɔmis blazing spid bay we dɛn nɔ de tek tɛm wit di vɛshɔn kɔntrol dairektrɔ dɛn ɛn leva kleva ɔptimayzeshɔn. Bɔt stil, insay 2016, wan nyu kɔntɛnda bin kɔmɔt ɛn i bin rili win di pefɔmɛns bɛnchmakɛt dɛn. Dat tul na `ripgrep` (rg), ɛn in stori na masta klas insay fɔs ɔptimayzeshɔn we de mirɔ di filɔsofi biɛn efishɔnal biznɛs pletfɔm dɛn lɛk Mewayz, usay pefɔmɛns ɛn divɛlɔpa ɛkspiriɛns na di impɔtant tin.

Wetin mek Ripgrep Lɛf di Kɔmpitishɔn Biɛn

Ripgrep, we Andru Gallant mek, nɔ bin jɔs impɔtant smɔl smɔl pan di tul dɛn we bin dɔn de; i bin tink bak bɔt di we aw dɛn bin de du am. I kɔr spid kɔmɔt frɔm wan pawaful kɔmbaynshɔn fɔ teknɔlɔji dɛn. Fɔs, i de yuz Rust in regex injin, we rili fast ɛn sef. Mɔ impɔtant, `ripgrep` difɔlt to rikɔrsiv dairektrɔ sɔch we i de ɔtomɛtik rɛspɛkt yu `.gitignore` lɔ dɛn, fɔ mek shɔ se yu nɔ ɛva west saykl dɛn we yu de fɛn tru bil artifakt ɔ dipɛnsin. Di tin we impɔtant pas ɔl na di tɛknik we i gɛt na di we aw i ebul fɔ pik di rayt we fɔ fɛn tin wit sɛns. Fɔ rial string, i de yuz wan haypa-ɔptimayz SIMD algɔrithm we dɛn kɔl Tɛdi. Fɔ kɔmpleks regex patɛn, i de swich seamles to di aprɔpriet injin. Dis intɛligent routin min se i de yuz di fastest we pɔsibul fɔ yu spɛshal kwɛstyɔn ɔlmost ɔltɛm.

Di Bɛnchmak We Chenj Maynd

Di fambul 2016 bɛnchmak, we de fɔm di bies fɔ di atikul in taytul, bin kɔmprɛhnsiv. I bin tɛst di tin dɛn we dɛn kin yuz fɔ fɛn tin dɛn fɔ no bɔt difrɛn difrɛn tin dɛn we rili apin: fɔ fɛn wan big dairektrɔ we gɛt kɔd, fɔ fɛn wan rial wɔd, fɔ yuz kɔmpleks rɛgyula ɛksprɛshɔn dɛn, ɛn fɔ filta tru big big wan fayl dɛn. Ripgrep bin de bifo pan di chɛt dɛn ɔltɛm. Wail spɛshal tul dɛn kin win insay wan, smɔl kategori, `ripgrep` bin ɛksɛl akɔdin to di bɔd. Dis kɔnsistɛns, rilibul pɔfɔmɛnshɔn na in mek i stik. Divεlכpεr εn sysadmin dεm fain se fכ adopt `ripgrep` de εliminet di mental ovahεd fכ pik difrεn tul dεm fכ difrεn wok dεm. Insay wan mɔdan divɛlɔpmɛnt wokflɔ, usay spid ɛn kɔntɛks-switch impɔtant, fɔ gɛt wan rilibul, fast tul fɔ ɔl di sɔch nid dɛn na big big prodaktiviti bɔst. Dis prinsipul fɔ kɔnsolidɛshɔn fɔ efyushɔn na wan we wi rili ɔndastand na Mewayz, usay fɔ intagret difrɛn biznɛs fɛnshɔn dɛn insay wan yunifayd OS de sev tim dɛn frɔm kɔnstant aplikeshɔn swichin.

Mɔ pas Jɔs Raw Spid: Di Yuz Ɛkspiriɛns Ɛj

Pɔfɔmɛnshɔn nɔto jɔs bɔt milisekɔnd; na bɔt di ɔl ɛkspiriɛns. Ripgrep bin ship wit sɛns difɔlt dɛn we bin mach di mɔdan divɛlɔpa wokflɔ dɛn aut ɔf di bɔks. I bin polish autput, wit klin kɔlɔ-kɔdin ɛn layn nɔmba dɛn, bin mek di rizɔlt dɛn izi fɔ rid wantɛm wantɛm. Di men tin dɛn we bin ɛp fɔ mek dɛn adopt am kwik kwik wan na:

Di Lastin Lɛgsi: Spid as Ficha

Di 2016 bɛnchmak nɔ bin jɔs bi wan snɛpsho insay tɛm; i bin sho se di tin dɛn we dɛn bin de op fɔ dɔn chenj. Ripgrep pruv se fawndeshɔn divɛlɔpa tul dɛn kin ri-ɛnjɛnɛri fɔ di mɔdan tɛm wit dramatik rizɔlt. I sakses ɔndaskayn se insay tul, raw spid na wan dip ficha—i de ridyus latɛns na di divɛlɔpmɛnt fidbak lɔp, we de mek ɛksplɔrɔshɔn, dibɔg, ɛn rifaktɔrin nɔ de taya. Fɔ biznɛs dɛn we de bil sɔftwɛl, di chuk fɔ efyushɔn tul gɛt dairekt impak pan velositi ɛn moral. Na di sem we, fɔ pik wan efishɔnal biznɛs ɔpreshɔn sistɛm lɛk Mewayz, we dɛn mek fɔ spid ɛn intagreshɔn, kin chenj ɔganayzeshɔnal agiliti. Jɔs lɛk aw `ripgrep` bin ɔptimayz di flɔ fɔ fɛn kɔd, Mewayz bin ɔptimayz di flɔ fɔ biznɛs infɔmeshɔn, fɔ mek shɔ se tim dɛn nɔ lɛf fɔ wet pan dɛn tul dɛn.

Ɔl Yu Biznɛs Tul dɛn na Wan Ples

Stɔp fɔ jɔg bɔku ap dɛn. Mewayz kam togɛda 208 tul fɔ jɔs $49/mɔnt — frɔm invɛntari to HR, bukin to analitiks. Nɔ kredit kad nɔ nid fɔ stat.

Tray Mewayz Fri →
, we yu kin yuz