{"id":16038,"date":"2016-10-12T15:46:13","date_gmt":"2016-10-12T19:46:13","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=16038"},"modified":"2016-12-05T14:34:14","modified_gmt":"2016-12-05T19:34:14","slug":"ripgrep","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2016\/10\/12\/ripgrep\/","title":{"rendered":"ripgrep"},"content":{"rendered":"<p><a href=\"http:\/\/blog.burntsushi.net\/ripgrep\/\">Andrew Gallant<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=12564442\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"http:\/\/blog.burntsushi.net\/ripgrep\/\">\n<p>In this article I will introduce a new command line search tool,\n<a href=\"https:\/\/github.com\/BurntSushi\/ripgrep\"><code>ripgrep<\/code><\/a>,\nthat combines the usability of\n<a href=\"https:\/\/github.com\/ggreer\/the_silver_searcher\">The Silver Searcher<\/a>\n(an <a href=\"http:\/\/beyondgrep.com\/\"><code>ack<\/code><\/a> clone) with the\nraw performance of GNU grep. <code>ripgrep<\/code> is fast, cross platform (with binaries\navailable for Linux, Mac and Windows) and written in\n<a href=\"https:\/\/www.rust-lang.org\">Rust<\/a>.<\/p>\n<p>[&#8230;]<\/p>\n<p>For both searching single files <em>and<\/em> huge directories of files, no other\ntool obviously stands above <code>ripgrep<\/code> in either performance or correctness.<\/p>\n<p><code>ripgrep<\/code> is the only tool with proper Unicode support that doesn&rsquo;t make\nyou pay dearly for it.<\/p>\n<p>Tools that search many files at once are generally <em>slower<\/em> if they use\nmemory maps, not faster.<\/p>\n<p>[&#8230;]<\/p>\n<p><code>ripgrep<\/code> uses a regex engine based on finite automata, so if you want fancy\nregex features such as backreferences or look around, <code>ripgrep<\/code> won&rsquo;t give\nthem to you.<\/p>\n<\/blockquote>\n\n<p>See also: <a href=\"http:\/\/ridiculousfish.com\/blog\/posts\/old-age-and-treachery.html\">The Treacherous Optimization<\/a>.<\/p>\n\n<p>Update (2016-12-05): See also: <a href=\"http:\/\/blog.mbrt.it\/2016-12-01-ripgrep-code-review\/\">ripgrep code review<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=13097125\">Hacker News<\/a>).<\/p>","protected":false},"excerpt":{"rendered":"<p>Andrew Gallant (via Hacker News): In this article I will introduce a new command line search tool, ripgrep, that combines the usability of The Silver Searcher (an ack clone) with the raw performance of GNU grep. ripgrep is fast, cross platform (with binaries available for Linux, Mac and Windows) and written in Rust. [&#8230;] For [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[74,138,234,408,258,163],"class_list":["post-16038","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-opensource","tag-optimization","tag-regex","tag-rust-lang","tag-unicode","tag-unix"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/16038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=16038"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/16038\/revisions"}],"predecessor-version":[{"id":16529,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/16038\/revisions\/16529"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=16038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=16038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=16038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}