Thanks (to all who responded)! I do use WOnder (is there nowadays any WO programmer who does not? Really?), but still, self-evidently it makes sense to use Java collections primarily, and go to NS-ones only when needed.
All the best, OC > On 2. 2. 2025, at 23:46, Ramsey Gurley <ramseygur...@gmail.com> wrote: > > I believe the answer is highly dependent on whether you're using the NS > collections from WebObjects JavaFoundation or the ones from WOnder. If I > remember correctly, Anjo did a lot of work optimizing performance on the ones > in wonder, making those much faster than the ones found in JavaFoundation. > > How do they compare to Java collections? It probably depends on what > implementation you are using. Whereas NSDictionary is a sort of one size fits > all, Java has LinkedHashMap, ConcurrentHashMap... all different > implementations with different performance profiles. Is NSArray faster than > List? Is the List a Vector, ArrayList, etc? And then what are you doing with > the list? Are you doing a lot of inserts and removals, simply iterating the > list, does it need to be threadsafe, and so on. > > As for what I use, I use whatever makes sense. To me, NS collections are just > another implementation of Java collections, no better or worse. A lot of the > WO API expects NSArray/NSDictionary, so I use those if I'm expecting them to > touch WO code. If I see a private _NSThreadsafeMutableDictionary, I don't > have any problem converting that into a ConcurrentHashMap which has nice > methods like computeIfAbsent() which the _NS thing does not. When writing new > API, I usually use the most basic Map/List/Set for method parameters these > days unless there is something I need from a specific implementation like > thread safety. For return values, I still like NS classes when I want to make > sure something returned is considered immutable. I'm not aware of a standard > Java collection which signals immutability in the type like > NSArray/NSDictionary do. I'm sure there's a third party jar I could find and > use, but why bring in another third party dependency if I already have > immutable collections in W O? > > > On 2/2/25 9:29 AM, ocs--- via Webobjects-dev wrote: >> Hi there, >> >> did ever anybody tried some benchmarks to find whether it is better to use >> WO collections (NSArray, NSDictionary...) as widely as possible (ie >> essentially anywhere, unless one really needs to store nulls or can't do >> without ConcurrentHashMap or so), or whether it's better to use standard >> collections (List, HashMap...) wherever they happen to work properly (which >> is surprisingly often, but not anywhere)? >> >> Are they roughly comparable, or are one or the others considerably better? >> >> Thanks! >> OC >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/webobjects-dev/ramseygurley%40gmail.com >> >> This email sent to ramseygur...@gmail.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com