… | |
… | |
55 | |
55 | |
56 | 1 |
56 | 1 |
57 | } |
57 | } |
58 | |
58 | |
59 | sub clean_random_maps { |
59 | sub clean_random_maps { |
60 | my $files = Coro::AIO::aio_readdir $cf::RANDOMDIR |
60 | my $files = Coro::AIO::aio_readdirx $cf::RANDOMDIR, IO::AIO::READDIR_STAT_ORDER |
61 | or return; |
61 | or return; |
62 | |
62 | |
63 | my $META_TIMEOUT = $cf::CFG{map_random_meta_timeout} || 86400 * 7; |
63 | my $META_TIMEOUT = $cf::CFG{map_random_meta_timeout} || 86400 * 7; |
64 | |
64 | |
65 | for my $file (@$files) { |
65 | for my $file (@$files) { |
… | |
… | |
152 | while () { |
152 | while () { |
153 | my $map = cf::map::new; |
153 | my $map = cf::map::new; |
154 | $map->generate_random_map ({ |
154 | $map->generate_random_map ({ |
155 | region => "scorn", |
155 | region => "scorn", |
156 | random_seed => $seed++, |
156 | random_seed => $seed++, |
157 | xsize => (int rand 500) + 1, |
157 | xsize => (int rand 100) + 1, |
158 | ysize => (int rand 500) + 1, |
158 | ysize => (int rand 100) + 1, |
159 | }); |
159 | }); |
160 | warn sprintf "%d: %dx%d o# %d\n", $seed, $map->width, $map->height, &cf::object::objects_size;#d# |
160 | warn sprintf "%d: %dx%d o# %d\n", $seed, $map->width, $map->height, &cf::object::objects_size;#d# |
161 | $map->destroy; |
161 | $map->destroy; |
162 | } |
162 | } |
163 | }; |
163 | }; |
… | |
… | |
174 | } |
174 | } |
175 | } |
175 | } |
176 | }; |
176 | }; |
177 | } |
177 | } |
178 | |
178 | |
|
|
179 | # save test |
|
|
180 | if (0) { |
|
|
181 | cf::async { |
|
|
182 | # 0.58 |
|
|
183 | Coro::Timer::sleep 2; |
|
|
184 | my $map = cf::map::find "/mlab/citydeclouds2"; |
|
|
185 | $map->load_header; |
|
|
186 | $map->load; |
|
|
187 | $map->post_load_original; |
|
|
188 | my $m=100; |
|
|
189 | for (1..50) { |
|
|
190 | my $t=EV::time; |
|
|
191 | $map->_save_objects ("/tmp/x", cf::IO_HEADER | cf::IO_OBJECTS | cf::IO_UNIQUES); |
|
|
192 | $t = EV::time-$t; |
|
|
193 | $m=$t if $m>$t; |
|
|
194 | warn $m; |
|
|
195 | } |
|
|
196 | }; |
|
|
197 | } |
|
|
198 | |
179 | 1 |
199 | 1 |
180 | |
200 | |