On Tue, Feb 26, 2019, at 10:16 PM, Haravikk wrote:
> [...] I mean seriously, no proper array but instead we 
> get a linked-list that is fully copied on even minor modifications, 

I remembered this just as I was falling asleep after my last big email.  
Basically, LSL has two ways of preventing reference loops, each of which is 
quite good enough on its own.  Given that a list is copied on even the smallest 
of modifications, there's no reason to prevent lists containing list 
references. There's no way to make a circular reference because each list 
becomes immutable before its reference can be obtained.  

We could have nested lists as soon as appropriate functions could be designed 
and implemented.  (Now I think about it, I can't understand why no-one's 
implemented it before.)


Don't get hung up on it being a linked list, the truth about performance is 
often very surprising and quite contrary to popular opinion.  For instance, a 
hash table may spend more time hashing than a linked list would searching.  
This was an actual *serious* problem a few years ago with programmers producing 
terribly slow designs because they thought some techniques were always faster.  
It's probably still going on, but I stopped paying attention because it makes 
me angry.  (Same with the async i/o / node.js hubris.)  In any case, because 
it's always copied, the actual implementation could be anything.
_______________________________________________
Opensim-users mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

Reply via email to