World Pre-Generation using a Command Block

To use this one-command-block contraption, create a new world in creative mode, and then

/tp 0 250 0
/give @p command_block
Right-click the command block, paste in the command copied from here:

Set the command block to ‘always active’
Set your render distance to 8 chunks
/scoreboard players set @a Running 1
Wait (go AFK) for ‘RadiusCompletedSoFar’ to reach the desired size
/scoreboard players set @a Running 0
Set your render distance back to whatever size you like

And now you’re ready for a Minecraft experience with less lag! If you waited until the radius reached ‘1000’ (which might take 15 minutes), then all the chunks from -1000,-1000 to +1000,+1000 will have been generated.