This is really interesting. It’s always been clear to me in scientific computing that, except for repeatability and stability concerns, most of the math done is really fuzzy and could easily be replaced by less precise operations. Generally applying that would be a little tricky since stability concerns are very real in many standard algorithms, but there are a lot of tricks which allow you to “avoid division” in specialized algorithms.
1% error is especially irrelevant for algorithms that inherently include noise, like neural networks and computer vision. The quarter billion neurons in a human visual cortex don’t compute arithmetic with 32 bits of precision either.
I did time-complexity on most (I think) of them, although the ones based on Set are tentative. I’ll try to flesh it out a bit more though in the next day or so hopefully.
Holy crap, you can run it on XBox and PS4? How did he even test that? Did Microsoft and Sony send him a devkit?
I imagine the people who paid for the port provided access. I think he has a decent thing going with game companies paying to port here or port there, etc.
PS4 support is relatively trivial – tweaking a few #ifdefs to know about the platform and porting a Makefile. LuaJIT already has well-tuned x86-64 support.
The PS3/Xbox360 porting work is described here (search for “PS3”). Platform restrictions don’t permit the JIT, but the LuaJIT interpreter is hand-coded assembly that runs about 2x faster than the standard Lua interpreter.
Does OpenBSD have any plans to move from GCC to Clang, like FreeBSD did?
http://marc.info/?l=openbsd-misc&m=137530560232232&w=2