Hacker News new | ask | show | jobs
by haileys 930 days ago
It buffers all of its output statements in memory before writing to stdout:

https://github.com/tomnomnom/gron/blob/master/main.go#L204

2 comments

Here's the fastgron printer if you want to compare:

https://github.com/adamritter/fastgron/blob/main/src/print_g...

Why?
It appears to be so it can sort the lines. Not sure how useful that is however.
An ironic near-miss on the UNIX philosophy. There's a great UNIX tool that will handle sorting arbitrarily large files!
It will mess up array indices, though.
Wouldn’t “sort -n” work with indices?
It's tricky to specify the sorting criterium: you have to indicate the column. Gron's output looks like this:

a.b[0].c.d[0]: ... a.b[0].e[0].f: ...

It shouldn't need to buffer the output to do that, right?
Correct.