| ▲ | ben-schaaf 2 hours ago | |||||||
There's premature optimisation, where you write a whole bunch of complicated code to avoid cloning an Arc<>. And then there's "premature optimisation" where you skip any consideration for performance until it becomes a problem. The latter is usually what people who use the quote "premature optimisation is the root of all evil" think it means. Don't just keep calm and clone, consider what you're cloning and why, and then hopefully we won't end up with even more horribly slow software. | ||||||||
| ▲ | bananamogul an hour ago | parent | next [-] | |||||||
Isn’t the latter what Knuth meant? Such a slippery slope between “consideration of performance” and optimization. | ||||||||
| ||||||||
| ▲ | afdbcreid 2 hours ago | parent | prev | next [-] | |||||||
"Keep calm and clone" is a good advice for beginners. Then it is also a good advice for experts - because when you're an expert and you just think of cloning, that probably means it is easier than borrowing which you would default to. | ||||||||
| ▲ | JoshTriplett an hour ago | parent | prev [-] | |||||||
By all means use borrowing if it's straightforward. But don't necessarily upend your whole codebase to avoid one clone, either. | ||||||||