The Unity engine allows you to have hierarchies of objects, wherein if you change the position of a parent object, all the child objects move with it. It turns out that while this is easy, it's not particularly performance friendly, especially when you're moving ~20,000 child objects every frame. I had to change my parallax algorithm to ignore the hierarchy and just update the ones that would be on screen (~600) at any given time.