Some profiling data.
3072x1024 map, 128 cities.
unpatched:
index % time self children called name
-----------------------------------------------
27.53 62961.33 100/100 karte_t::enlarge_map(einstellungen_t*, signed char*) [4]
[6] 63.1 27.53 62961.33 100 karte_t::distribute_groundobjs_cities(int, short, short) [6]
0.05 40672.88 12800/12800 stadt_t::stadt_t(spieler_t*, koord, int) [8]
0.00 8847.02 40515/43866 wegbauer_t::calc_route(koord3d const&, koord3d const&) [24]
1.86 8838.05 100/100 stadt_t::random_place(karte_t const*, int, short, short) [27]
31.71 1628.01 209344308/2306701683 karte_t::lookup_kartenboden(koord) const [7]
0.00 1548.64 26459/26465 route_t::calc_route(karte_t*, koord3d, koord3d, fahrer_t*, unsigned int, unsigned int, unsigned int) [52]
0.00 788.25 100/100 karte_t::create_rivers(short) [69]
0.00 530.16 16212/30612 wegbauer_t::baue() [59]
0.33 28.08 79228917/79228917 groundobj_t::random_groundobj_for_climate(climate, signed char) [177]
--------------
1.86 8838.05 100/100 karte_t::distribute_groundobjs_cities(int, short, short) [6]
[27] 8.8 1.86 8838.05 100 stadt_t::random_place(karte_t const*, int, short, short) [27]
0.60 8824.66 100/100 karte_t::finde_plaetze(short, short, climate_bits, short, short) const [28]
0.97 6.77 51200/54551 weighted_vector_tpl<koord>::remove(koord) [237]
1.10 0.79 37050074/37050074 slist_tpl<koord>::remove_first() [362]
patched
68.95 5786.79 100/100 karte_t::enlarge_map(einstellungen_t*, signed char*) [4]
[5] 53.2 68.95 5786.79 100 karte_t::distribute_groundobjs_cities(einstellungen_t const*, short, short) [5]
0.00 2256.80 16866/21638 wegbauer_t::calc_route(koord3d const&, koord3d const&) [6]
376.41 1561.93 100/100 stadt_t::random_place(karte_t const*, vector_tpl<int> const*, unsigned int, unsigned int, short, short) [12]
0.08 642.40 100/100 karte_t::create_rivers(short) [25]
0.01 585.30 12800/12800 stadt_t::stadt_t(spieler_t*, koord, int) [27]
23.66 109.43 628365130/867552698 karte_t::lookup_kartenboden(koord) const [11]
-----------------
376.41 1561.93 100/100 karte_t::distribute_groundobjs_cities(einstellungen_t const*, short, short) [5]
[12] 17.6 376.41 1561.93 100 stadt_t::random_place(karte_t const*, vector_tpl<int> const*, unsigned int, unsigned int, short, short) [12]
1.67 709.43 100/100 karte_t::finde_plaetze(short, short, climate_bits, short, short) const [24]
161.64 0.00 3538043483/1442927365 array2d_tpl<double>::at(unsigned int, unsigned int) [47]
Results are strange. karte_t::finde_plaetze should take almost equal time in in patched and unpatched versions. Bot it is not.
Some for stadt_t::stadt_t.