This proposal may offer some performance improvements. I think the way we codegen passive data segments as initializer functions should map to the behavior below, but would require deeper study.
Instructions:
memory.copy
table.copy
memory.fill
memory.init
table.init
data.drop
elem.drop
Reference: https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md