[{"data":1,"prerenderedAt":192},["ShallowReactive",2],{"project-43707308":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":42,"post_text":43,"what":44,"said":56,"maker_in_thread":108,"shape":118,"grid":123,"attempts":153,"same_week":154,"maker_shows":183,"maker_hidden":184,"reader_version":185,"card":186},"43707308","K(r)ep","A high-performance string search utility","title","Show HN: K(r)ep - A high-performance string search utility","https:\u002F\u002Fgithub.com\u002Fdavidesantangelo\u002Fkrep","github.com","daviducolo",1744820766,2025,21,14,1973,3837,52,"shown","dev_tools","text search cli","cli",[24,25,26,27,28],"string search","grep alternative","boyer moore horspool","pattern matching","command line","roasted",-0.486,{"positive":32,"neutral":33,"mixed":32,"critical":34},0,3,6,9,{"idea":37,"performance":38,"execution":40},{"positive":32,"critical":33},{"positive":32,"critical":39},2,{"positive":32,"critical":41},1,[32,41,41,41,32,41,41,41,32,33,32,33,33,32],null,{"problem":43,"audience":43,"pricing":43,"motivation":43,"time_to_build":43,"stack":45,"openness":53,"stage":54,"team_size":55},[46],{"value":47,"source":48,"evidence":49},"C","inferred",[50],{"id":51,"by":11,"text":52},"43713416","Thank you for the report! Here’s what I changed: 1. Always use the raw bad_char_table[text[i + pattern_len‑1]] shift—no extra lowercase lookup at runtime. 2. After a full match,…","open_source","launched","unknown",{"praise":57,"objections":66,"requests":96,"questions":97,"alternatives":102},[58],{"value":59,"source":60,"evidence":61},"Simpler algorithms can outperform theoretically better ones in practice","commenter",[62],{"id":63,"by":64,"text":65},"43723173","MattPalmer1086","No problem, hope it was useful. I've found a lot of real world performance comes from doing as little as possible inside the main search loop. UPDATE: It's often the case that a…",[67,74,81,89],{"value":68,"source":60,"evidence":69},"Uses far more CPU than ripgrep for small speed gains",[70],{"id":71,"by":72,"text":73},"43707722","alkh","The fact that even in the test example it took ripgrep 0.115 s with 97% CPU usage vs Krep's 0.106 s with 328% CPU usage is a testament of why ripgrep is still preferable. Such a…",{"value":75,"source":60,"evidence":76},"Search gave inconsistent and incorrect results",[77],{"id":78,"by":79,"text":80},"43708365","finnh","With this comment showing that search was inconsistent and gave incorrect results: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=43335277 why the repost?",{"value":82,"source":60,"evidence":83},"Reposting the same project repeatedly is poor etiquette",[84,88],{"id":85,"by":86,"text":87},"43709021","globnomulous","He posted the project 36 days ago, 35 days ago, and today. The commit history appears to show that he has been working on it, but that's no excuse for this sort of re-posting.…",{"id":78,"by":79,"text":80},{"value":90,"source":60,"evidence":91},"Large performance cliffs on some patterns",[92],{"id":93,"by":94,"text":95},"43707812","burntsushi","ripgrep author here. Like many grep tools, it also has significant performance cliffs that are very easy to hit: ``` $ time rg -o -c '[A-Z]' subtitles2016-sample.en 51835353 real…",[],[98],{"value":99,"source":60,"evidence":100},"Why was the project reposted?",[101],{"id":78,"by":79,"text":80},[103],{"value":104,"source":60,"evidence":105},"ripgrep",[106,107],{"id":71,"by":72,"text":73},{"id":93,"by":94,"text":95},{"comments":109,"answered":41,"key":110},4,[111,114,115],{"id":112,"text":113},"43709180","I reposted the project because I have released a new version fixing everything that users have encountered.",{"id":51,"text":52},{"id":116,"text":117},"43715756","I have applied your suggestions. Thank you again. https:\u002F\u002Fgithub.com\u002Fdavidesantangelo\u002Fkrep\u002Freleases\u002Ftag\u002Fv1.1.1",{"commenters":119,"max_depth":120,"maker_replies":109,"first_comment_mins":121,"lifespan_hours":122},7,5,36,31,[124,128,130,131,133,135,137,138,141,143,146,147,149,151],[125,32,32,126,127,32],"43708176","other\u002Fneutral\u002Fnone","aw1621107",[78,32,41,129,79,32],"maker\u002Fcritical\u002Fidea",[85,32,41,129,86,32],[132,32,41,129,94,32],"43709075",[112,32,32,134,11,41],"maker\u002Fneutral\u002Fnone",[71,41,41,136,72,32],"project\u002Fcritical\u002Fperformance",[93,41,41,136,94,32],[139,39,41,140,64,32],"43710947","project\u002Fcritical\u002Fexecution",[51,39,32,142,11,41],"maker\u002Fneutral\u002Fexecution",[144,39,33,145,64,32],"43715288","project\u002Fneutral\u002Fexecution",[116,39,32,142,11,41],[63,39,33,148,64,32],"project\u002Fneutral\u002Fperformance",[150,39,33,148,64,32],"43723254",[152,33,32,145,11,41],"43714186",[],[155,159,164,169,174,179],{"id":156,"name":157,"points":158,"category":20},"43690289","Unsure Calculator",930,{"id":160,"name":161,"points":162,"category":163},"43675248","SignalBloom",292,"finance_crypto",{"id":165,"name":166,"points":167,"category":168},"43667061","memEx",194,"productivity",{"id":170,"name":171,"points":172,"category":173},"43652968","Chonky",169,"ai",{"id":175,"name":176,"points":177,"category":178},"43677909","Infocom Unix Z-Machine (pez)",157,"languages",{"id":180,"name":181,"points":182,"category":178},"43682547","protobuf-ts-types",138,13,false,"v2",{"id":187,"name":5,"line":6,"ai":184,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":188,"top":18,"kw":189,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":190,"url":9,"mix":191,"praise":59,"objection":68,"sub":21},43707308,-0.49,[24,25,26,27,28],"01110111030330",[32,33,32,34],1794036673011]