I'm trying to make a walking NPC without humanoid. I can't figure out how to move them, what body mover to use?
Body Movers are not going to be faster than using a humanoid. Body movers ask the physics engine to do a bunch of extra calculations, when what you really want is to just continuously update the parts of the humanoid to go where you want. You might want to use either http://wiki.roblox.com/index.php?title=API:Class/AnimationController or do the animation entirely yourself using CFrames (in either case the parts should be anchored with CanCollide = false, if possible -- though I'm not sure if animations can be applied to anchored parts).
You can do a number of other optimizations, like making far away NPCs not animate and/or use simpler models. It may be a good idea to make the NPCs local -- that is, the server will keep track of the positions of the NPCs and keep the clients up to date on them, but it won't have the actual NPC models.