Can someone (e.g. @LvHang) please look into whether reading Fsts as ConstFst instead of VectorFst for decoding leads to a substantial improvement in memory consumption? ConstFst stores the vectors and arcs as one array so should be better for memory. You can change any of the *-latgen-faster programs.
This may require writing a new version of ReadFstKaldi, e.g. add ReadConstFstKaldi.