[DiscordArchive] I was thinking about some alternatives to speedup continent updates.
[DiscordArchive] I was thinking about some alternatives to speedup continent updates.
![[Image: race-condition.png?ex=690c5582&is=690b04...d8bd8cdb4&]](https://cdn.discordapp.com/attachments/376074396915335170/1224629406065102928/race-condition.png?ex=690c5582&is=690b0402&hm=4a6e1e03ad6156fe2d209715bce2de084f03d738e16ff7b7fd9c189d8bd8cdb4&)
![[Image: norace.png?ex=690c5583&is=690b0403&hm=2a...9b9773c00&]](https://cdn.discordapp.com/attachments/376074396915335170/1224629406715088906/norace.png?ex=690c5583&is=690b0403&hm=2a7cb16279978a47bfe306374e6faf3666f983de995f82c2fa5857c9b9773c00&)
![[Image: 2-phase-update.png?ex=690c5583&is=690b04...ccd389a04&]](https://cdn.discordapp.com/attachments/376074396915335170/1224629407721721866/2-phase-update.png?ex=690c5583&is=690b0403&hm=4710711193a417dcd85cf069a5fb9156ead0bba5cbda657da694b7bccd389a04&)
Archived author: walkline • Posted: 2024-04-02T08:00:03.432000+00:00
Original source
I was thinking about some alternatives to speedup continent updates.
I am aware that there are some implementations where we can create an "instanced" version of some areas on the continent (such as making Dalaran a separate instance map). But I'm not a big fan of this idea.
Can someone validate the next idea?
The idea is super simple - to split the continent into several "zones" and run updates for these "zones" in parallel (Image 1).
I'm sure we would encounter some race conditions closer to the zone boundaries.
However, if we take a look at Image #2 and review the zones on Thread 1 and Thread 3, and imagine that the zone in between is unused, could we run updates for those zones in parallel without encountering race conditions?
If yes, and we can update two zones in parallel if the area in between is unused, then we could split the continent update into two stages.
On first stage, update zones that are far from each other, and in the second stage, update the zones in between (buffer zones), as shown in Image #3.
Do you think this might work?
![[Image: race-condition.png?ex=690c5582&is=690b04...d8bd8cdb4&]](https://cdn.discordapp.com/attachments/376074396915335170/1224629406065102928/race-condition.png?ex=690c5582&is=690b0402&hm=4a6e1e03ad6156fe2d209715bce2de084f03d738e16ff7b7fd9c189d8bd8cdb4&)
![[Image: norace.png?ex=690c5583&is=690b0403&hm=2a...9b9773c00&]](https://cdn.discordapp.com/attachments/376074396915335170/1224629406715088906/norace.png?ex=690c5583&is=690b0403&hm=2a7cb16279978a47bfe306374e6faf3666f983de995f82c2fa5857c9b9773c00&)
![[Image: 2-phase-update.png?ex=690c5583&is=690b04...ccd389a04&]](https://cdn.discordapp.com/attachments/376074396915335170/1224629407721721866/2-phase-update.png?ex=690c5583&is=690b0403&hm=4710711193a417dcd85cf069a5fb9156ead0bba5cbda657da694b7bccd389a04&)