4 ms·
Directing programmers to hotspots based on programming info is pretty reliable. In your case, it depends on how confident the annotations are. The Self papers h
by silentbicycle 16y ago
Directing programmers to hotspots based on programming info is pretty reliable. In your case, it depends on how confident the annotations are. The Self papers have a lot about that - JIT compilers can nonchalantly make riskier optimizations, because they can also easily undo them.
- stcredzero 16y agoMy idea is that the programmers can add expert knowledge and human intelligence into the mix. They have the ability to just let the VM know: "Okay, in this part these things are always going to be this type and things go like that, so just go to town and optimize the bejesus out of it!" In other words, a good programmer should be able to just let the VM know ahead of time what's up in critical sections of stable production code. Even better, we should be able to combine datasets from many different runs of many VM instances! This sort of technique would allow us very high degrees of confidence for things like web apps in server farms, where getting 10's of thousands of runtime tracing datasets would be easy to do. This is where a dynamic language with optional type annotations would really shine.
- xiongchiamiov 16y agoSounds like how some people use Cython. Snippet from [0], which is unfortunately temporarily down (I got to it through Google Cache[1]): cpdef double integrate_f(double a, double b, int N): cdef double dx, s cdef int i dx = (b-a)/N s = 0 for i in range(N): s += f(a+i*dx) return s * dx [0]: http://www.behnel.de/cython200910/talk.html http://www.behnel.de/cython200910/talk.html [1]: http://webcache.googleusercontent.com/search?q=cache:7NvoUHhaxRkJ:www.behnel.de/cython200910/talk.html&hl=en&strip=1 http://webcache.googleusercontent.com/search?q=cache:7NvoUHh...