The last few days its been dawning on me how Escape Analysis changes the rules on performance critical code.
Its a big deal. Short lived objects become nearly free to use. Convenience rules. If you need to tuple-ize 2 Ints, then stick them in a List, to pass through an API, only to immediately unpack back to the Ints on the other side: go ahead. Dont worry. Those objects probably will never be created; they’re conceptually there.
Get back to what you ought to be doing: Abstracting and Composing.