https://github.com/andrearcaina/pathfinder
blazingly fast, lightweight CLI to map & track your codebase
https://github.com/andrearcaina/pathfinder
charm cli go tokei
Last synced: about 1 month ago
JSON representation
blazingly fast, lightweight CLI to map & track your codebase
- Host: GitHub
- URL: https://github.com/andrearcaina/pathfinder
- Owner: andrearcaina
- License: mit
- Created: 2025-08-15T18:43:38.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-08-29T15:11:04.000Z (about 1 month ago)
- Last Synced: 2025-08-29T18:22:44.970Z (about 1 month ago)
- Topics: charm, cli, go, tokei
- Language: Go
- Homepage:
- Size: 99.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pathfinder
Blazingly fast, lightweight CLI to map & track your codebase.### Examples
Below I ran `pathfinder` on this codebase with the `-R` flag to recursively scan all subdirectories. Image was taken at 2025-08-30 3:08 PM EST.
Then I ran the same command, but instead on my installed Go libraries and packages in WSL to benchmark performance. Image was taken at 2025-08-30 3:08 PM EST.
You can see that it found **73,103** files, **18,219** directories, and **44,858,625** total lines.
```bash
> time ./bin/pathfinder ../../../go/ -R# time output (as of 2025-08-30 3:08 PM EST)
./bin/pathfinder -p ../../../go/ -R 5.88s user 8.15s system 281% cpu 4.995 total
```
This only took 4.995 seconds (on my machine), utilizing 281% of the CPU.
This is because `pathfinder` uses goroutines for concurrent file reading and processing.I then ran it again on the same directory:
```bash
> time ./bin/pathfinder ../../../go/ -R...
# time output (as of 2025-08-30 3:08 PM EST)
./bin/pathfinder -p ../../../go/ -R 4.69s user 2.97s system 686% cpu 1.117 total
```
This time it took only 1.117 seconds to run, utilizing 665% of the CPU.
The second run is much faster because the OS caches file data in memory,
reducing I/O overhead and allowing goroutines to utilize more cores efficiently.