scc
ripgrep
Our great sponsors
scc | ripgrep | |
---|---|---|
19 | 348 | |
5,918 | 44,747 | |
- | - | |
8.2 | 9.3 | |
12 days ago | 6 days ago | |
Go | Rust | |
MIT License | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
scc
- Scc: A fast code counter with complexity calculations and COCOMO estimates
-
Essential Command Line Tools for Developers
View on GitHub
-
Ask HN: Programs that saved you 100 hours? (2022 edition)
Going to say my own https://github.com/boyter/scc/ which I have used to turn down projects of "Oh we just need to do X"
It allows me to evaluate the code-base quickly and see where potential issues are, and find hidden complexity in the code. I have said no a lot due to it. The only reason it exists was because I got caught out from another project, which wasted months of my time.
Otherwise IntelliJ and the JetBrains IDE's in general.
-
Building a custom code search index in Go for searchcode.com
Very cool to see this here, Ben! It was fun beating the ins and outs of your work on this in the TZ discord.
Also, off-topic but as you know, I recently tried out your scc tool and am eagerly awaiting its support for Elixir templates (.eex, .heex)!
https://github.com/boyter/scc
-
[media] Onefetch v2.13 is typically 2x faster and now supports ~100 programming languages
I believe tokei is the best rust option as of now, but despite my burning passion for rust I've switched to using scc instead as I find it faster and more convenient. Not really an option for you if you're trying to bake line counting into the binary, obviously.
-
Incremental Parsing in Go
I've seen some real world example where Go was as fast or faster than Rust for CPU / io intensive task.
Go is a fast language even with a GC.
https://github.com/boyter/scc/#performance
- Goal: Pass all 4259065 tests in sqllogictest in 1 week
-
Large project uses Rust backend. My backend developer left. How hard is it for me to learn Rust and take over for him.
I don't trust your qualitative "LARGE" for the project. I would recommend you pass your project through something like a software metrics tool https://github.com/boyter/scc to better measure what you're up against in terms of Flutter/Dart AND Rust code base.
- A fast accurate code counter with complexity calculations and COCOMO estimates
- Fd: A simple, fast and user-friendly alternative to 'find'
ripgrep
-
Ask HN: What software sparks joy when using?
ripgrep - https://github.com/BurntSushi/ripgrep
-
Code Search Is Hard
Basic code searching skills seems like something new developers are never explicitly taught, but which is an absolutely crucial skill to build early on.
I guess the knowledge progression I would recommend would look something kind this:
- Learning about Ctrl+F, which works basically everywhere.
- Transitioning to ripgrep https://github.com/BurntSushi/ripgrep - I wouldn't even call this optional, it's truly an incredible and very discoverable tool. Requires keeping a terminal open, but that's a good thing for a newbie!
- Optional, but highly recommended: Learning one of the powerhouse command line editors. Teenage me recommended Emacs; current me recommends vanilla vim, purely because some flavor of it is installed almost everywhere. This is so that you can grep around and edit in the same window.
- In the same vein, moving back from ripgrep and learning about good old fashioned grep, with a few flags rg uses by default: `grep -r` for recursive search, `grep -ri` for case insensitive recursive search, and `grep -ril` for case insensitive recursive "just show me which files this string is found in" search. Some others too, season to taste.
- Finally hitting the wall with what ripgrep can do for you and switching to an actual indexed, dedicated code search tool.
-
Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
live grep: ripgrep
- Ripgrep
-
Modern Java/JVM Build Practices
The world has moved on though to opinionated tools, and Rust isn't even the furthest in that direction (That would be Go). The equivalent of those two lines in Cargo.toml would be this example of a basic configuration from the jacoco-maven-plugin: https://www.jacoco.org/jacoco/trunk/doc/examples/build/pom.x... - That's 40 lines in the section to do the "defaults".
Yes, you could add a load of config for files to include/exclude from coverage and so on, but the idea that that's a norm is way more common in Java projects than other languages. Like here's some example Cargo.toml files from complicated Rust projects:
Servo: https://github.com/servo/servo/blob/main/Cargo.toml
rust-gdext: https://github.com/godot-rust/gdext/blob/master/godot-core/C...
ripgrep: https://github.com/BurntSushi/ripgrep/blob/master/Cargo.toml
socketio: https://github.com/1c3t3a/rust-socketio/blob/main/socketio/C...
-
Ugrep – a more powerful, ultra fast, user-friendly, compatible grep
I'm not clear on why you're seeing the results you are. It could be because your haystack is so small that you're mostly just measuring noise. ripgrep 14 did introduce some optimizations in workloads like this by reducing match overhead, but I don't think it's anything huge in this case. (And I just tried ripgrep 13 on the same commands above and the timings are similar if a tiny bit slower.)
[1]: https://github.com/radare/ired
[2]: https://github.com/BurntSushi/ripgrep/discussions/2597
- Tell HN: My Favorite Tools
-
Potencializando Sua Experiência no Linux: Conheça as Ferramentas em Rust para um Desenvolvimento Eficiente
Explore o Ripgrep no repositório oficial: https://github.com/BurntSushi/ripgrep
-
Scrybble is the ReMarkable highlights to Obsidian exporter I have been looking for
🔎🗃️ ripgrep or ugrep (search fast, use regex patterns or fuzzy search, pipe output to bash/zsh shell for further processing V coloring)
- RFC: Add ngram indexing support to ripgrep (2020)
What are some alternatives?
cloc - cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.
telescope-live-grep-args.nvim - Live grep with args
tokei-pie - Render tokei's output to interactive sunburst chart.
fd - A simple, fast and user-friendly alternative to 'find'
croc - Easily and securely send things from one computer to another :crocodile: :package:
ugrep - NEW ugrep 5.1: an ultra fast, user-friendly, compatible grep. Ugrep combines the best features of other grep, adds new features, and searches fast. Includes a TUI and adds Google-like search, fuzzy search, hexdumps, searches nested archives (zip, 7z, tar, pax, cpio), compressed files (gz, Z, bz2, lzma, xz, lz4, zstd, brotli), pdfs, docs, and more
Seaweed File System - SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs]
the_silver_searcher - A code-searching tool similar to ack, but faster.
Hugo - The world’s fastest framework for building websites.
fzf - :cherry_blossom: A command-line fuzzy finder
Gor - GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.
alacritty - A cross-platform, OpenGL terminal emulator.