| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
In experiments on my laptop it seems to compile a little faster and run
slightly slower. Both might be in the noise.
|
|
|
|
|
|
|
| |
How did I not know about -ftrapv for so long?! Found while reading
Memarian et al, "Into the depths of C: Elaborating the de facto
standards".
http://www.cl.cam.ac.uk/~pes20/cerberus/pldi16.pdf
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reorganize build system to minimize duplication while handling 3
scenarios:
1. Locally running tests with `mu test`
2. Locally running tests until some layer with `build_and_test_until`
3. Running on Linux with `test_layers`
4. Running on Travis CI with multiple sharded calls to `test_layers`
One thing we drop at this point is support for OSX in test_layers. We
don't need it now that we have Travis CI working.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Make it easy to skip distracting valgrind errors when debugging more
obvious errors in early layers. Just throw a 'test' at the end of
build_and_test_until commands to not run valgrind (and make it a regular
test run).
|
| |
|
|
|
|
|
|
|
|
|
| |
No, 2001 is no good. Phony targets can't early-exit if everything's
built. New approach:
$ CFLAGS=-g make && ./mu test
etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let's stop hackily editing compiler flags in makefile.
I considered modifying the 'mu' script as well, with cases like this:
1. mu test -- don't optimize
2. mu test edit.mu -- optimize
3. mu test edit.mu just-one-test -- don't optimize
4. mu edit.mu -- interactive; optimize
5. mu -- just help message; don't optimize
But that seems brittle for all the added complexity. From now on to
build quickly just do:
$ make dbg && mu test
etc.
|
|
|
|
|
| |
Spent a while trying to understand why editing a slightly larger program
was so much slower. Then realized I'd managed to disable optimizations.
|
|
|
|
| |
Now we can make use of all the depths from 1 to 99.
|
| |
|
|
|
|
|
|
|
| |
The cost of optimization across all levels is now lower than that of
running them unoptimized.
test_all_layers unoptimized: 22:36.88
test_all_layers optimized: 19:33.38
|
|
|
|
|
| |
Also, turns out I haven't been building 999spaces.cc in my default
build. Now fixed.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Time to turn on optimizations, since we aren't recompiling mu all the
time anymore.
But it doesn't help much with the editor. We need to be smarter about
not rendering the whole screen.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Ever since 1403 mu depended on a phony target and so was always
considered stale. This commit improves on that fix.
|
| |
|
|
|
|
|
|
|
|
| |
While I'm at it I also explored turning on optimization. With
optimization compile+test of the chessboard app takes 10+3s, while
without optimization it takes 3+8s. So we're still better off without
optimizations in a tight debug loop. (Since we stopped tracing the big
chessboard test.)
|
| |
|
|
I've tried to update the Readme, but there are at least a couple of issues.
|