Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

llListen Curiosity

Kenn Nilsson
AeonVox
Join date: 24 May 2005
Posts: 897
09-20-2005 16:18
I know that an llListen on channel 0 can be quite the lag-inducer (since it essentially listens to every line spoken publically and filters it)...

...but what about an object that listens on...say...5 private channels instead of filters through 5 possible messages on one channel?

Anyone have an answer there?
Keknehv Psaltery
Hacker
Join date: 11 Apr 2005
Posts: 1,185
09-20-2005 16:25
(5 Listeners)>;(5 parsed commands)

Or do you mean parsed commands on channel 0?
Kenn Nilsson
AeonVox
Join date: 24 May 2005
Posts: 897
09-20-2005 17:13
No, 5 parsed commands on private channels. You've answered my question. Thank you.

Now...are those 5 channels still < channel 0 in most cases?
Introvert Petunia
over 2 billion posts
Join date: 11 Sep 2004
Posts: 2,065
09-20-2005 17:42
I haven't an answer, will a guess do?

If your question is, is it better to listen on channels [2800..2804] for a fixed string on each more efficient than listening on channel 2800 and having an LSL "if else if" chain do the demuxing of the 5 fixed strings?

Assumptions: 1) any operation done inside an LSL call is faster than LSL code to do the same task 2) opening an listener is a relatively heavy operation.

Guess: if the script is looking for one message then opening 5 listens will likely swamp an "if else if" chain. If the script is looking for an infinite number of messages, the 5 listeners will be more efficient than an "if else if" chain (or llListFindList) for parsing. For some number of messages between 1 and infinity, the bias will shift to mutiple listeners. I imagine that cross overpoint happens somewhere under 100 messages. Moreover with the LSL throttling in 1.7 the bias probably shifts towards multiple listens earlier.

You could always make an empirical timing test to really know.