Not sure to what extent this would improve performance, but stumbled across this comment while reading the code...
https://github.com/prawnpdf/ttfunk/blob/master/lib/ttfunk/subset_collection.rb#L45
I probably won't be working on this myself, but wanted to drop a note in case someone wants to take a look.