3 ms·
When Java came out, and later when C#/.NET arrived some people did the same with them. Nihil novi. It is often easier to get decent performance in tiny project
by pkolaczk 6y ago
When Java came out, and later when C#/.NET arrived some people did the same with them. Nihil novi.
It is often easier to get decent performance in tiny projects or micro-benchmarks, simply because you can spend so much more time on optimization vs all other tasks. That's probably why I often see Java benchmarks claiming close-to-C performance (only ~2x slower) levels, but I fail to see it in real big applications.
- pjmlp 6y agoYet I have replaced plenty of C++ systems with Java/.NET based ones, or hybrid solutions where C++ is left for a couple of high performance libraries (e.g. in COM), with the rest in some managed language. If the hard deadlines are still met, it doesn't matter that another solution is 50% faster when it takes 150% more money to develop and doesn't bring anything to the table (hard deadlines were accomplished). This is what people keep forgetting when arguing my language is faster than yours. What I care is about project costs, meeting deadlines and acceptance criteria.
- Shorn 6y ago> What I care is about project costs, meeting deadlines and acceptance criteria. Are you sure you're on the right website? :D
- pkolaczk 6y ago50% faster and 150% more expensive are numbers my experience doesn't agree with. First, programs coded in Rust are typically nowhere near 50% faster than the ones coded in managed languages - I observe 500% to 5000% differences. And it is not just faster but also uses an order of magnitude less memory. In cloud based software this translates to savings on TCO users of the software I write do care about. Second, as for 150% more development cost - this is also not my experience. There is some upfront cost related to learning a new language, but then later this pays off on maintenance and bug finding (lack of data races or relying on fragile runtime reflection are big ones). Plus Rust is more expressive than Java/C#/Go and many common programming problems are actually surprisingly faster to code. E.g serialization / deserialization of object graphs.