How to use/retrieve an options array, with defaults, using get_option()

There are couple main considerations with options performance.

How many options there are

Every option with unique key is a row in options database. More rows makes table messier, but primarily for humans to work with. You’ll need to have crazy amounts of options to start making serious difference in performance.

Are they autoloaded

Options are by default autoloaded. On each pageload WordPress queries all autoloaded options in bulk and puts them into cache. If you have a lot of options, which are not autoloaded then accessing them will require as many database queries. If your data in autoloaded options in considerably large then it will slow down autoload and consume as much memory.

In any case you are just using get_option(). The different is how you organize your data and how you access it. Storing array of data as single option is generally considered more neat. Any abstraction on top of that usually just simplifies getting specific pieces of data from underlying large array.