We do a lot with perforations. When you get this heavy (dense) all applications begin to suck wind, though some much more than others. And what you show is actually kinda simple in a way. Try filleting the perforation ends and watch what happens to the file! (hint - times a lot)
Basically, best prectice is to always do your perforations last. Keep a separate polysurface without the perforations. Copy it and apply your perfs as a last step and don’t work with it, then send that monster file to whomever downstream, so they can yell at you for how heavy your !@#$%^& file is. You might even copy the ‘perf-less’ blank to another file, and just apply the perfs to the separate file. The 'perf 'file.
This way, you are always working with a clean perf-less polysurface, and your perfs geo is on a separate layer, or separate file. Important if you need to make changes, or tweak, or work with related parts. You work the perf-less stand-in, and always add the perfs last, then make the file some other poor slubs’ problem…