I think a true architect knows the difference. The best design is often not so good-looking.
Not all of them are classified “white elephants”. Not all of them are “designs”.
- multi-threading — not always significantly faster than multi-Processing
- sharedMem — not always significantly faster than sockets. I briefly discussed these two choices with my friend Deepak M, in the parser/rebus context. I feel it may not be faster.
- java generic module (beyond collections) — look impressive, can be hard to maintain but doesn’t buy us much
- converting java system to c++ — not always brings significant performance gains
- noSQL — not always significantly faster than SQL with lots of memory
- hash-table — not always faster than RBTree