The computing power one needs to simulate a galaxy in motion may prove to be immense for the average player and their CPU, at times. Paradox are, with the AI update, looking to reduce this stress.
Each time something important would happen on a planet, such as a pop is grown, a district/building gets constructed or an upgrade finishes, every single pop would update their desire, also known as weight, to work each job. Then all pops would be unassigned of their jobs, and all of them would be put back on a, potentially, new job.
In the current 3.2 system, the most obvious problem is for hive mind empires where pops will mass move to the maintenance drone job when the planet amenity level is low, and then during the next update, all of them will leave due to having way too many amenities causing a perpetual ping pong effect.
This also affected non-hive mind AI empires because in 3.2 the AI would prioritize a job producing a resource during a shortage across all its planets.
The way it works in 3.3 is that during each monthly update, all the jobs on the planet will be updated, while only removing or adding a maximum of one pop per job during the update.
Many of you are now probably immediately clenching your fist in anger while picturing your poor CPU melting, as scripted calculations based on the number of pops in Stellaris can be very CPU demanding. But here are some good news for you. First of all, in 3.2, there were some redundant calls to the job weight calculation. By removing them where possible, developers could already reduce the amount of job weight calculations by about 75%.
Furthermore, the game is now reusing job weights between pops that are of the same species and share the same job. Meaning if you have 40 pops working as miners on a planet, and they are all of the same species, the scripted job weight calculation will only be performed once instead of 40 times as in 3.2.