home
·
contact
·
privacy
projects
/
plomrogue2
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8d0b584
)
Avoid multiprocessing until it's really worth it.
author
Christian Heller
<c.heller@plomlompom.de>
Tue, 8 Dec 2020 23:16:13 +0000
(
00:16
+0100)
committer
Christian Heller
<c.heller@plomlompom.de>
Tue, 8 Dec 2020 23:16:13 +0000
(
00:16
+0100)
plomrogue/game.py
patch
|
blob
|
history
diff --git
a/plomrogue/game.py
b/plomrogue/game.py
index 3b0b25f3afeacd77b732578e847a002982adf904..b0233b327574dba4ee8fe946395c68066a8e9130 100755
(executable)
--- a/
plomrogue/game.py
+++ b/
plomrogue/game.py
@@
-230,7
+230,6
@@
class Game(GameBase):
"""Send out game state data relevant to clients."""
# TODO: limit to connection_id if provided
"""Send out game state data relevant to clients."""
# TODO: limit to connection_id if provided
- print('DEBUG send_gamestate')
self.io.send('TURN ' + str(self.turn))
from plomrogue.mapping import FovMap
import multiprocessing
self.io.send('TURN ' + str(self.turn))
from plomrogue.mapping import FovMap
import multiprocessing
@@
-242,15
+241,19
@@
class Game(GameBase):
player = self.get_player(c_id)
if player._fov:
continue
player = self.get_player(c_id)
if player._fov:
continue
- player.prepare_multiprocessible_fov_stencil()
#!
+ player.prepare_multiprocessible_fov_stencil()
player_fovs += [player._fov]
player_fov_ids += [player.id_]
player_fovs += [player._fov]
player_fov_ids += [player.id_]
- print('DEBUG regen FOV for', player.id_)
- if len(player_fovs) > 0:
+ new_fovs = []
+ single_core_until = 8 # since multiprocess has its own overhead
+ if len(player_fovs) > single_core_until:
pool = multiprocessing.Pool()
pool = multiprocessing.Pool()
- new_fovs = pool.map(FovMap.init_terrain, [fov for fov in player_fovs])
#!
+ new_fovs = pool.map(FovMap.init_terrain, [fov for fov in player_fovs])
pool.close()
pool.join()
pool.close()
pool.join()
+ elif len(player_fovs) <= single_core_until:
+ for fov in player_fovs:
+ new_fovs += [fov.init_terrain()]
for i in range(len(player_fov_ids)):
id_ = player_fov_ids[i]
player = self.get_thing(id_)
for i in range(len(player_fov_ids)):
id_ = player_fov_ids[i]
player = self.get_thing(id_)