Improve var.break_long_message
Concatenating strings repeatedly slows down the program and eats up memory. It's not too bad for the number of players we have, but if you get 10k players that makes a significant difference
This commit is contained in:
parent
dc54fdc883
commit
5793097626
@ -418,20 +418,20 @@ def role_order():
|
|||||||
|
|
||||||
|
|
||||||
def break_long_message(phrases, joinstr = " "):
|
def break_long_message(phrases, joinstr = " "):
|
||||||
message = ""
|
message = []
|
||||||
count = 0
|
count = 0
|
||||||
for phrase in phrases:
|
for phrase in phrases:
|
||||||
# IRC max is 512, but freenode splits around 380ish, make 300 to have plenty of wiggle room
|
# IRC max is 512, but freenode splits around 380ish, make 300 to have plenty of wiggle room
|
||||||
if count + len(joinstr) + len(phrase) > 300:
|
if count + len(joinstr) + len(phrase) > 300:
|
||||||
message += "\n" + phrase
|
message.append("\n" + phrase)
|
||||||
count = len(phrase)
|
count = len(phrase)
|
||||||
elif message == "":
|
else:
|
||||||
message = phrase
|
if message:
|
||||||
count = len(phrase)
|
count = len(phrase)
|
||||||
else:
|
else:
|
||||||
message += joinstr + phrase
|
|
||||||
count += len(joinstr) + len(phrase)
|
count += len(joinstr) + len(phrase)
|
||||||
return message
|
message.append(phrase)
|
||||||
|
return joinstr.join(message)
|
||||||
|
|
||||||
class InvalidModeException(Exception): pass
|
class InvalidModeException(Exception): pass
|
||||||
def game_mode(name, minp, maxp, likelihood = 0, conceal_roles = False):
|
def game_mode(name, minp, maxp, likelihood = 0, conceal_roles = False):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user