Hey folks, I’m doing some refactoring that theoretically shouldn’t impact performance (and doesn’t, on my system) but could cause compilers to optimize more poorly. Anyone who has a setup for running PGO builds and/or cares about performance, could you run some tests on my vmi-refactor branch?
I’ve pulled a few files out of the pl-wam.c compilation unit and moved a couple functions into pl-inline.h. Outcomes should be identical to current master builds, but there might be differences if the compiler suddenly finds itself unable to inline a hot function.
There is no measurable impact Some of the stuff should probably be moved to the inline version though. Think about the “GENERIC INDIRECT OPERATIONS” functions (which should also avoid GET_LD). This doesn’t show in the default benchmark test as there are no string or bignum manipulations and I doubt there are even floats in there (our indirect types).
If you clean this up it might be wise to split it into a file doing the heap allocations and one doing the stack allocations. Don’t ask me how these ended up in the same place If you create files you need to add the file header. Without I get complaints from the Linux package managers …