frawk
bwk
Our great sponsors
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.
frawk
-
Awk: Power and Promise of a 40 yr old language (2021)
It does, just go to the "Benchmarks" link: https://github.com/ezrosent/frawk/blob/master/info/performan...
-
What's the software you couldn't live without?
and frawk for good measure
-
What is yay situation?
frawk ["frawk" in aur] - a fancier awk with support for CSV files
- Fd: A simple, fast and user-friendly alternative to 'find'
- Command-line Tools can be 235x Faster than your Hadoop Cluster
-
Awk implementation?
https://github.com/ezrosent/frawk - awk like language in rust
-
Hacker News top posts: Feb 15, 2022
Frawk: A fast, JITted, statically-typed AWK written in Rust\ (27 comments)
-
Frawk: A fast, JITted, statically-typed AWK written in Rust
Interesting (and a bit surprising) that the cranelift backend keeps up with LLVM backend reasonably well, especially with parallelism enabled https://github.com/ezrosent/frawk/blob/master/info/performan...
In the example I noticed a PREPARE block in addition to the well known BEGIN and END blocks. After a few minutes of searching it appears to be frawk specific:
https://github.com/ezrosent/frawk/blob/master/info/paralleli...
"Because the repeated map references are both annoying to write and inefficient to execute, frawk has a PREPARE block which executes in the worker threads at the end of its input"
bwk
- Awk implementation?
-
How to Join a Team and Learn a Codebase
Document the steps to setup dev environment in your own words and highlight the issues that you run into
Lots of people are commenting saying they have problems with this.
The first thing I do when working on an unfamiliar project is to write a SHELL SCRIPT that records everything I did. I keep that at the root of the git repo, usually as "run.sh".
For example here is what I did when hacking on Kernighan's awk 5 years ago:
https://github.com/andychu/bwk/blob/master/run.sh
So now 5 years later I can see exactly where I got the files from. And I usually count how much source code there is in a repo to get a feel for it, and I have that exact command.
And I was trying to figure out how much test coverage there is, so I ran a bunch of gcov stuff, which involve Python.
The shell script may not work now, but the point is that I can tell within 10 seconds what I did 5 years ago.
So basically I suggest becoming SHELL LITERATE and checking in shell script with comments. (You can also use a Makefile, but shell is less prescriptive about its model and has fewer gotchas. Make has all the gotchas of shell plus some more.)
What are some alternatives?
clojure-rust-graalvm - An example of Clojure program calling a Rust library, all combined into one executable using GraalVM.
awka - Revive awka - Awk to C Compiler
pawk - PAWK - A Python line processor (like AWK)
awk - One true awk
tui-rs - Build terminal user interfaces and dashboards using Rust
makesure - Simple task/command runner with declarative goals and dependencies
awk-ward.nvim
awesome-rewrite-it-in-rust - A curated list of replacements for existing software written in Rust [Moved to: https://github.com/TaKO8Ki/awesome-alternatives-in-rust]
Cursive - A Text User Interface library for the Rust programming language
rust - Empowering everyone to build reliable and efficient software.
rust-smallvec - "Small vector" optimization for Rust: store up to a small number of items on the stack