3 ms·
Have you considered ccache? http://ccache.samba.org/ http://ccache.samba.org/ You could also roll your own in a very few lines of code. Maybe even have the ou
by rwl4 13y ago
Have you considered ccache?
http://ccache.samba.org/ http://ccache.samba.org/
You could also roll your own in a very few lines of code. Maybe even have the output of the program, not the compiled code, be the content of the hashed file, assuming you aren't reading STDIN or anything like that from the user.
- rubymaverick 13y agoThat's a really cool project! Definitely going to look into it for some of our more complicated courses, but for this course compilation is usually under a half-second so it's not the compilation that's slow (it's the way we are tearing down an entire VM after every submission, we are working on changing that now)
- rwl4 13y agoAh. Maybe consider a FreeBSD jail with a union mounted filesystem if you can get away with using a non-Apple (GNUstep/GCC?) toolchain. The teardown on a jail is as fast as the chroot syscall. ;-) Or even better, use ZFS snapshots as your sandbox. Copy on write kicks butt. See: http://vocalbit.com/article/402/freebsd-jails-using-zfs-and-bsdinstall http://vocalbit.com/article/402/freebsd-jails-using-zfs-and-...
- nglevin 13y agoJust one nitpick for an excellent comment. GNUstep/Clang would be the only way to get support for array, dictionary and number literals, as well as ARC. GNUstep/GCC is possible, but you lose support for all of the above, blocks, and several other recent additions to the Objective-C language.
- rubymaverick 13y agoVery true. We really leaned heavily on the new literals and ARC in this course.