I have hudreds of remove_doubles in this code
for ar in result:
for idx in ar:
self.m_obj_bmesh.faces [ idx ].select = True
bpy.ops.mesh.remove_doubles()
self.m_obj_bmesh.faces.ensure_lookup_table()
bpy.ops.mesh.select_all(action = 'DESELECT')
but its run too slow