3. Assume that at the high level your data is represented efficiently • Data doesn’t sit in memory for longer than needed • No unnecessary duplicate data structures - E.g. don’t keep same objects in both a List and a Set • Data structures are appropriate - E.g. don’t use ConcurrentHashMap when no concurrency • Data format is appropriate - E.g. don’t use Strings for int/double numbers 4. Main source