I don't know that people love it so much as that there is no exact replacement for the functionality.
I'm a big proponent of compatibility but shared sets as they previously existed are problematic. I wouldn't be at all surprised if they are thread-unsafe to the point of being able to crash the server. An alternative might be to provide equivalent functionality (order-preserving, multiple entries for keys, access by index or key or case-insensitive key) as a new nsv subcommand, perhaps 'nsv_multiset'. Separately, I was experimenting with a performance enhancement to ns_sets, creating a hashtable mapping the keys to indexes. There is a slight cost in memory and on the first lookup, but it should get to breakeven after only around 3 lookups on average, with decreasing amortized cost after that. The difference is measurable and can be significant, as much as 4x faster on a large set. However, that's measured on a very large set, 1000 keys; and the real savings is pretty small, around 15 microseconds per lookup on average hardware. Is that kind of micro-optimization worth the additional complexity? -J Gustaf Neumann wrote: > Stephen, > > do you remember why you took out the -shared flag from ns_set? > > https://bitbucket.org/naviserver/naviserver/changeset/1cbaf1acc09436f2a1c56102269a8b7fab0be168 > > > it seems that some people love it. We have either to take it > out of > the documentation (and give sensible explanation) or > reintroduce it in the code... > > -gustaf ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ naviserver-devel mailing list naviserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/naviserver-devel