What's your computer specs? How much ram are you allocating to Java?
This is pretty normal, at least for me. When you're generating new chunks, your computer has to work harder than if the chunk was already made. What I've grown accustomed to is pregenerating a good portion of the world. You can achieve this with tools like 'admin command toolbox'
Also, depending on what map you're using, that can also cause lag while its rendering up the new area. Granted, the lag shouldn't be that bad.
Unfortunately, you're only left with a few options. Upgrade you machine(depending on specs), pregen a portion of the map(requires patience) or.......stop every now and then and stand still for a good 10-30 seconds while your computer does its things. For me, about every 10 chunks traveled in a straight line and ill stop till my FPS steadies out before setting off again.
So yea, that's all I can really say. One other option I tend to forget is optifine. There is an option under performance(I think) to change chunkloading to multicore. That has worked extremely well for me in the past, but your mileage may vary.
Good luck!