This used matplotlib internally to plot the values. Now one can produce scurves
without leaving the command line.
I tried to get logarithmic scale to work, but I was unable to do so in a trivial
way. That is something for a different hacking session. I need to move on.
I am upstreaming this for two reasons:
1. Traditionally I have done this by hand in a spreadsheet program. I would
rather just have a program fix it up for me.
2. Multiple people have asked me about how to produce this sort of graph and I
would just like to document it via a script.
I hope it is useful to others. You use the script by invoking it as:
./csvcolumn_to_scurve <input_file> <before_column> <after_column> [output_file]
This script in combination with <(...) can be used to speed up creating
reproductions from command lines that use '@' files to define their inputs.
An example use case:
Consider a swiftc command line that uses the @ symbol.
swiftc @/foo/bar/baz.txt
When this is run, the @ command is expanded into a filelist in a temporary
file. This doesn't work with -### since -### outputs the command line with a
temporary file for the filelist, but uses a path to a temporary file that
doesn't exist, e.g.:
swift -frontend -filelist /tmp/tmp.filelist ...
To run this command, you use the at-to-filelist command as follows:
swift -frontend -filelist <(at-to-filelist /foo/bar/baz.txt)
Something useful that I use all the time that I would like to give to others. It
enables emacs compile-mode to be used like a standalone-ish application instead
of one application with many modes, one of which is compile-mode.
Useful to show the control flow graph of a disassembled function.
The control flow graph can the be viewed with the viewcfg utility:
(lldb) disassemble
<copy-paste output to file.s>
$ blockifyasm < file.s | viewcfg
For details see the comment in split-cmdline
I put this under a new directory utils/dev-script because we have so much stuff in utils already.
Other, similar scripts can then be added in dev-scripts as well.