3 ms·
So did the now-dead game companies. Performance is like money: it's easy to squander and hard to acquire.
by sillysaurus3 9y ago
So did the now-dead game companies.
Performance is like money: it's easy to squander and hard to acquire.
- royjacobs 9y agoSo...which game companies?
- mikepurvis 9y agoReally? I'm pretty sure for most game companies, shipping is king and everything else is secondary. Also, have you seen gameplay footage of in-development titles, particularly older ones before the days of Unity and UE4? Usually they're choppy as hell because the engine is under development at the same time as the game, and devs prioritize getting a golden but slow codepath working first so that the artists have something to go off of, and all the optimizations are shoved in to recover framerate in the months right before release.
- Tuna-Fish 9y ago> Performance is like money: it's easy to squander and hard to acquire. In this case, there were several decisions to not care about performance right now in order to emphasize correctness and shipping faster, while making sure there are no technical obstacles to making compilation faster in the future. The main time sink in Rust compilation is that all the abstractions in the Rust code get compiled into the initial bytecode representation passed to the LLVM side, and they are only reduced there, instead of cutting down on the hierarchies on the Rust side. This costs performance in several places -- the creation of all the bytecode, the copying of it, and then LLVM parsing it all in. The upside of doing it this way is that it makes the Rust-specific compiler much simpler and easier to implement, and that the optimizations that remove the towers of abstraction on the LLVM side are extremely well tested. As Rust matures, optimizations that reduce the complexity of the created initial LLVM bytecode can be, and probably will be done on the Rust side.