Two random things come to mind here:
- In tilemaker when reading PBF files @cldellow is building a kind of index on the fly. Have a look at
Alternative protobuf library? · systemed/tilemaker · Discussion #621 · GitHub. - Look at this proposal which would create larger blocks making your index less efficient: Pbf-reblob: Reduce PBF file sizes (without loosing data)