'Oku vave ange 'a e Ripgrep 'i he grep, ag, git grep, ucg, pt, sivi (2016) | Mewayz Blog Skip to main content
Hacker News

'Oku vave ange 'a e Ripgrep 'i he grep, ag, git grep, ucg, pt, sivi (2016)

Ngaahi fakamatala

12 min read Via burntsushi.net

Mewayz Team

Editorial Team

Hacker News

Ko e Fiema'u ki he Vave: 'I he taimi 'oku hoko ai 'a e fekumi ko ha bottleneck

'I he mamani 'o e fakalakalaka 'o e polokalama fakakomipiuta mo e pule'i 'o e ngaahi sisitemi, 'Oku 'ikai ko ha me'a faka'ofo'ofa 'a e malava ke kumi vave 'i he ngaahi mo'unga 'o e ngaahi faile 'o e code mo e tohi; ko e fiema'u ia. Kuo laui ta'u, ko e ngaahi me'angaue hange ko e `grep` ko e fanga hoosi ngaue falala'anga. Pea na'e ha'u ha to'utangata fo'ou 'o e "kumi superheroes" hange ko e `ag` (Ko e kumi siliva) mo e ni'ihi kehe, 'o tala'ofa 'a e vave vela 'aki hono ta'etokanga'i 'a e ngaahi tohi fakahinohino pule'i 'o e version mo e leveraging optimizations 'atamai poto. Ka, ‘i he 2016, na‘e ‘asi hake ai ha tokotaha fe‘auhi fo‘ou pea na‘á ne ikuna‘i fakapapau ‘a e ngaahi faka‘ilonga fakahoko ngāué. Ko e me'angaue ko ia ko e `ripgrep` (rg), pea ko hono talanoa ko ha masterclass 'i he optimization tokanga 'oku ne faka'ata 'a e filosofia 'i mui 'i he ngaahi tu'unga pisinisi lelei hange ko Mewayz, 'a ia 'oku mahu'inga taha ai 'a e fakahoko mo e a'usia 'a e developer.

Ko e hā naʻe tuku ai ʻe Ripgrep ʻa e feʻauhí

Ripgrep, na'e fa'u 'e Andrew Gallant, na'e 'ikai ke fakalakalaka fakautuutu pe 'i he ngaahi me'angaue 'oku 'i ai; naʻá ne toe fakakaukauʻi ʻa e foungá. Ko hono vave tefito 'oku ha'u ia mei ha fakataha'i malohi 'o e ngaahi tekinolosia. 'Uluakí, 'oku ne faka'aonga'i 'a e misini regex 'o e 'ume'umea, 'a ia 'oku incredibly vave mo malu. Ko e me'a 'oku mahu'inga ange, `ripgrep` defaults ki he ngaahi fekumi 'o e tohi fakahinohino recursive lolotonga hono faka'apa'apa'i 'otometiki ho'o ngaahi tu'utu'uni `.gitignore`, fakapapau'i 'oku 'ikai te ke teitei maumau'i 'a e ngaahi siakale 'o e fekumi 'o fakafou 'i he langa 'o e ngaahi me'a faka'ofo'ofa pe ngaahi fakafalala. Ko hono lelei fakatekinikale mahu'inga taha ko 'ene malava ke fili fakapotopoto 'a e founga kumi totonu. Ki he ngaahi afo mo'oni, 'oku ne faka'aonga'i ha hyper-fakalelei'i 'a e SIMD algorithm 'oku ui ko e Teddy. Ki he ngaahi sipinga faingata'a 'o e regex, 'oku ne seamlessly liliu ki he misini totonu. Ko e routing 'atamai ko 'eni 'oku 'uhinga ia 'oku meimei ke ne ngaue'aki ma'u pe 'a e founga vave taha ki ho'o fehu'i pau.

"'Oku vave ange 'a e ripgrep 'i he {grep, ag, git grep, ucg, pt, sift} koe'uhi he 'oku langa ia 'i 'olunga 'i he misini regex 'o e 'ume'umea 'a ia 'oku ne faka'aonga'i 'a e automata fakangatangata, SIMD mo e ngaahi fakalelei'i fakalea fakatupu 'ita ke 'ai 'a e fekumi ke vave 'aupito." – ʻAnitelū Kalani, ko e tokotaha fakatupu ʻo e ripgrep.

Ko e Fakafuofua Naʻá Ne Liliu ʻa e ʻAtamaí

Ko e faka'ilonga 'iloa 'o e 2016, 'a ia 'oku ne fa'u 'a e makatu'unga 'o e hingoa 'o e fakamatala, na'e fakalukufua. Naʻá ne siviʻi ʻa e ngaahi meʻangāue kumi ʻi ha ngaahi tuʻunga moʻoni lahi: kumi ha tohi fakahinohino lahi ʻo e code, tulimanu ki ha foʻi lea moʻoni, fakaʻaongaʻi ʻa e ngaahi fakalea angamaheni faingataʻa, mo e filtering ʻi he ngaahi faile ʻe taha lahi. Naʻe ʻi he tumutumu maʻu pē ʻo Ripgrep ʻi he ngaahi saatí. Lolotonga e ngaahi me'angaue makehe 'e lava ke ikuna 'i ha fa'ahinga 'e taha, fakangatangata, `ripgrep` mahulu hake 'i he tafa'aki 'o e palakipoe. Ko e fakahoko tuʻumaʻu mo falalaʻanga ko ʻení ko e meʻa ia naʻá ne ʻai ia ke ne piki maʻú. Na'e ma'u 'e he kau developers mo e sysadmins 'a hono 'ave 'o e `ripgrep` 'oku fakangata 'a e 'atamai 'o e fili 'o e ngaahi me'angaue kehekehe ki he ngaahi ngaue kehekehe. 'I ha workflow fakalakalaka fakaonopooni, 'a ia 'oku mahu'inga 'a e vave mo e context-switching, ko hono ma'u 'o e me'angaue falala'anga 'e taha, vave ki he ngaahi fie ma'u fekumi kotoa pe ko ha fakatupulaki lahi 'o e ola. Ko e tefito'i mo'oni ko 'eni 'o e fakatahataha'i ki he ola lelei ko e taha 'oku mahino loloto kiate kimautolu 'i he Mewayz, 'a ia 'oku fakataha'i ai 'a e ngaahi ngaue fakapisinisi kehekehe ki ha OS fakatahataha'i 'oku fakahaofi 'a e ngaahi timi mei he liliu ma'u pe 'o e ngaahi polokalama.

Mahulu hake 'i he vave 'o e Raw: Ko e tafa'aki 'o e a'usia 'a e tokotaha ngaue

Ko e fakahoko 'oku 'ikai ko e milisekoni pe; 'oku fekau'aki ia mo e a'usia fakalukufua. Na'e fakafolau atu 'a e Ripgrep mo e ngaahi defaults 'atamai lelei 'oku fe'unga mo e ngaahi ngaue 'a e kau developer fakaonopooni mei he puha. Ko hono output fakangingila, mo e lanu-coding ma'a mo e ngaahi fika laine, na'e 'ai 'e he ngaahi ola ke lau 'i he taimi pe ko ia. Ko e ngaahi me'a mahu'inga na'e tokoni ki hono ohi vave na'e kau ai 'a e:

  • Faka'apa'apa'i 'o e `.gitignore` 'i he tu'unga fakalukufua ki he ngaahi fekumi fekau'aki mo vave.
  • Ko e fekumi ki he ngaahi faile fufuu mo e ngaahi faile binary 'i he taimi pe 'oku kole mahino ai.
  • Poupou Unicode 'oku "ngaue pe," 'o ta'ofi 'a e ngaahi ta'elavame'a fakatupu lotomamahi 'o e sipinga.
  • Ko e malava ke kumi 'i loto 'i he ngaahi fa'ahinga faile pau 'o faka'aonga'i ha syntax faingofua (e.g., `rg -tjs 'ngaue'`).

Ko e tokanga ko 'eni ki ha a'usia default ma'olunga ange na'e 'uhinga ia na'e si'isi'i ange 'a e taimi 'oku fakamoleki 'e he kau developers 'i hono fa'u 'o e ngaahi fuka 'o e laine fekau 'oku 'ikai mahino pea lahi ange 'a e taimi 'oku ola lelei. Na'a ne to'o 'a e fepakipaki, 'o hange ko e founga 'oku fakataumu'a ai 'a e Mewayz ke to'o 'a e fepakipaki fakangaue 'aki hono 'omi ha OS pisinisi modular 'a ia 'oku fakataha'i ai 'a e ngaahi me'angaue 'o 'ikai ha palopalema, 'o faka'ata 'a e ngaahi timi ke nau tokanga taha ki he'enau ngaue tefito kae 'ikai ko e configuring 'a e ngaahi sisitemi disjointed.

Ko e Tukufakaholo Tuʻuloa: Ko e Vave ko ha ʻAlunga

Ko e fakafuofua 'o e 2016 na'e 'ikai ko ha faka'ata pe ia 'i he taimi; naʻá ne fakaʻilongaʻi ha liliu ʻi he ngaahi ʻamanakí. Na'e fakamo'oni'i 'e Ripgrep 'e lava ke toe 'enisinia'i 'a e ngaahi me'angaue developer fakava'e ki he kuonga fakaonopooni mo e ngaahi ola fakaofo. Na'e fakamamafa'i 'e hono lavame'a 'i he tooling, vave 'o e raw ko ha fotunga loloto-'oku ne fakasi'isi'i 'a e latency 'i he loop 'o e ngaahi fakakaukau fakalakalaka, 'o 'ai ke si'isi'i ange 'a e fekumi, debugging, mo e refactoring 'a e fakafiefia. Ki he ngaahi pisinisi langa polokalama fakakomipiuta, 'Oku 'i ai ha uesia fakahangatonu 'a e fili 'o e tooling lelei ki he vave mo e 'ulungaanga. 'I he founga tatau, 'e lava ke liliu 'e he fili 'o ha founga ngaue pisinisi 'oku ola lelei hange ko e Mewayz, kuo fakataumu'a ki he vave mo e fakataha'i, 'a e agility 'o e kautaha. Hange pe ko e `ripgrep` optimized 'a e tafe 'o e kumi 'o e code, Mewayz optimizes 'a e tafe 'o e fakamatala fakapisinisi, fakapapau'i 'oku 'ikai ke tuku 'a e ngaahi timi ke nau tatali ki he'enau ngaahi me'angaue.

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

Ngaahi Fehuʻi ʻoku Faʻa ʻEke

Ko e Fiema'u ki he Vave: 'I he taimi 'oku hoko ai 'a e fekumi ko ha bottleneck

'I he mamani 'o e fakalakalaka 'o e polokalama fakakomipiuta mo e pule'i 'o e ngaahi sisitemi, 'Oku 'ikai ko ha me'a faka'ofo'ofa 'a e malava ke kumi vave 'i he ngaahi mo'unga 'o e ngaahi faile 'o e code mo e tohi; ko e fiema'u ia. Kuo laui ta'u, ko e ngaahi me'angaue hange ko e `grep` ko e fanga hoosi ngaue falala'anga. Pea na'e ha'u ha to'utangata fo'ou 'o e "kumi superheroes" hange ko e `ag` (Ko e kumi siliva) mo e ni'ihi kehe, 'o tala'ofa 'a e vave vela 'aki hono ta'etokanga'i 'a e ngaahi tohi fakahinohino pule'i 'o e version mo e leveraging optimizations 'atamai poto. Ka, ‘i he 2016, na‘e ‘asi hake ai ha tokotaha fe‘auhi fo‘ou pea na‘á ne ikuna‘i fakapapau ‘a e ngaahi faka‘ilonga fakahoko ngāué. Ko e me'angaue ko ia ko e `ripgrep` (rg), pea ko hono talanoa ko ha masterclass 'i he optimization tokanga 'oku ne faka'ata 'a e filosofia 'i mui 'i he ngaahi tu'unga pisinisi lelei hange ko Mewayz, 'a ia 'oku mahu'inga taha ai 'a e fakahoko mo e a'usia 'a e developer.

Ko e hā naʻe tuku ai ʻe Ripgrep ʻa e feʻauhí

Ripgrep, na'e fa'u 'e Andrew Gallant, na'e 'ikai ke fakalakalaka fakautuutu pe 'i he ngaahi me'angaue 'oku 'i ai; naʻá ne toe fakakaukauʻi ʻa e foungá. Ko hono vave tefito 'oku ha'u ia mei ha fakataha'i malohi 'o e ngaahi tekinolosia. 'Uluakí, 'oku ne faka'aonga'i 'a e misini regex 'o e 'ume'umea, 'a ia 'oku incredibly vave mo malu. Ko e me'a 'oku mahu'inga ange, `ripgrep` defaults ki he ngaahi fekumi 'o e tohi fakahinohino recursive lolotonga hono faka'apa'apa'i 'otometiki ho'o ngaahi tu'utu'uni `.gitignore`, fakapapau'i 'oku 'ikai te ke teitei maumau'i 'a e ngaahi siakale 'o e fekumi 'o fakafou 'i he langa 'o e ngaahi me'a faka'ofo'ofa pe ngaahi fakafalala. Ko hono lelei fakatekinikale mahu'inga taha ko 'ene malava ke fili fakapotopoto 'a e founga kumi totonu. Ki he ngaahi afo mo'oni, 'oku ne faka'aonga'i ha hyper-fakalelei'i 'a e SIMD algorithm 'oku ui ko e Teddy. Ki he ngaahi sipinga faingata'a 'o e regex, 'oku ne seamlessly liliu ki he misini totonu. Ko e routing 'atamai ko 'eni 'oku 'uhinga ia 'oku meimei ke ne ngaue'aki ma'u pe 'a e founga vave taha ki ho'o fehu'i pau.

Ko e Fakafuofua Na'e Liliu 'a e Ngaahi Fakakaukau

Ko e faka'ilonga 'iloa 'o e 2016, 'a ia 'oku ne fa'u 'a e makatu'unga 'o e hingoa 'o e fakamatala, na'e fakalukufua. Naʻá ne siviʻi ʻa e ngaahi meʻangāue kumi ʻi ha ngaahi tuʻunga moʻoni lahi: kumi ha tohi fakahinohino lahi ʻo e code, tulimanu ki ha foʻi lea moʻoni, fakaʻaongaʻi ʻa e ngaahi fakalea angamaheni faingataʻa, mo e filtering ʻi he ngaahi faile ʻe taha lahi. Naʻe ʻi he tumutumu maʻu pē ʻo Ripgrep ʻi he ngaahi saatí. Lolotonga e ngaahi me'angaue makehe 'e lava ke ikuna 'i ha fa'ahinga 'e taha, fakangatangata, `ripgrep` mahulu hake 'i he tafa'aki 'o e palakipoe. Ko e fakahoko tuʻumaʻu mo falalaʻanga ko ʻení ko e meʻa ia naʻá ne ʻai ia ke ne piki maʻú. Na'e ma'u 'e he kau developers mo e sysadmins 'a hono 'ave 'o e `ripgrep` 'oku fakangata 'a e 'atamai 'o e fili 'o e ngaahi me'angaue kehekehe ki he ngaahi ngaue kehekehe. 'I ha workflow fakalakalaka fakaonopooni, 'a ia 'oku mahu'inga 'a e vave mo e context-switching, ko hono ma'u 'o e me'angaue falala'anga 'e taha, vave ki he ngaahi fie ma'u fekumi kotoa pe ko ha fakatupulaki lahi 'o e ola. Ko e tefito'i mo'oni ko 'eni 'o e fakatahataha'i ki he ola lelei ko e taha 'oku mahino loloto kiate kimautolu 'i he Mewayz, 'a ia 'oku fakataha'i ai 'a e ngaahi ngaue fakapisinisi kehekehe ki ha OS fakatahataha'i 'oku fakahaofi 'a e ngaahi timi mei he liliu ma'u pe 'o e ngaahi polokalama.

Mahulu hake 'i he vave 'o e Raw: Ko e tafa'aki 'o e a'usia 'a e tokotaha ngaue

Ko e fakahoko 'oku 'ikai ko e milisekoni pe; 'oku fekau'aki ia mo e a'usia fakalukufua. Na'e fakafolau atu 'a e Ripgrep mo e ngaahi defaults 'atamai lelei 'oku fe'unga mo e ngaahi ngaue 'a e kau developer fakaonopooni mei he puha. Ko hono output fakangingila, mo e lanu-coding ma'a mo e ngaahi fika laine, na'e 'ai 'e he ngaahi ola ke lau 'i he taimi pe ko ia. Ko e ngaahi me'a mahu'inga na'e tokoni ki hono ohi vave na'e kau ai 'a e:

Ko e Tukufakaholo Tuʻuloa: Ko e Vave ko ha ʻAlunga

Ko e fakafuofua 'o e 2016 na'e 'ikai ko ha faka'ata pe ia 'i he taimi; naʻá ne fakaʻilongaʻi ha liliu ʻi he ngaahi ʻamanakí. Na'e fakamo'oni'i 'e Ripgrep 'e lava ke toe 'enisinia'i 'a e ngaahi me'angaue developer fakava'e ki he kuonga fakaonopooni mo e ngaahi ola fakaofo. Na'e fakamamafa'i 'e hono lavame'a 'i he tooling, vave 'o e raw ko ha fotunga loloto-'oku ne fakasi'isi'i 'a e latency 'i he loop 'o e ngaahi fakakaukau fakalakalaka, 'o 'ai ke si'isi'i ange 'a e fekumi, debugging, mo e refactoring 'a e fakafiefia. Ki he ngaahi pisinisi langa polokalama fakakomipiuta, 'Oku 'i ai ha uesia fakahangatonu 'a e fili 'o e tooling lelei ki he vave mo e 'ulungaanga. 'I he founga tatau, 'e lava ke liliu 'e he fili 'o ha founga ngaue pisinisi 'oku ola lelei hange ko e Mewayz, kuo fakataumu'a ki he vave mo e fakataha'i, 'a e agility 'o e kautaha. Hange pe ko e `ripgrep` optimized 'a e tafe 'o e kumi 'o e code, Mewayz optimizes 'a e tafe 'o e fakamatala fakapisinisi, fakapapau'i 'oku 'ikai ke tuku 'a e ngaahi timi ke nau tatali ki he'enau ngaahi me'angaue.

Ko ho'o ngaahi me'angaue pisinisi kotoa pe 'i he feitu'u 'e taha Ta'ofi 'a e juggling 'o e ngaahi polokalama lahi. Mewayz fakataha'i 'a e ngaahi me'angaue 'e 208 ki he $49/mahina pe — mei he 'inivenitoa ki he HR, booking ki he analytics. 'Oku 'ikai fiema'u ha kaati fakamo'ua ke kamata.

3b82f6; lanu: # fff; fakafonu: 10px 24px; kau'āfonua-letiusi: 6px; tohi-teuteu: 'ikai ha taha; founga-mamafa 'o e mata'itohi → 60"
'Oku vave ange 'a e Ripgrep 'i he grep, ag, git grep, ucg, pt, sift (2016) ","url": "'Oku-vave ange-'a e-ripgrep-'i he-grep-ag-git-grep-ucg-pt-s ift-2016","'ahoPublished":"'ahoFakalelei'i":"2026-03-24T10:44:00". 8+00:00","fa'u tohi":{"@fa'ahinga":"Kautaha","hingoa":"Mewayz","url":"https://mewayz.com"},"pulusi":{"fa'ahinga":"Kautaha","hingoa":"Mewayz","url":"https://mewayz}

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 6,203+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 6,203+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime