I did a 2014 Summit presentation (5 JSON Tips) which should be available for download that demonstrated the benefits of using objects for key/value pair cache lookups, but in the end it’s pretty easy to demonstrate. The benefits start to show up with a few hundred keys, but at 100,000 it’s easily 20x faster looking up object keys as opposed to find in array in interpreted. And when you compile, it’s literally hundred of times faster (400-500x) at 100k keys - and the benefits just get bigger and bigger with more keys. That’s both for filling the cache and for retrieving values (objects save you from having to check if a key is already in the array before adding it).
-- Justin Leavens jus...@jitbusiness.com (818) 986-7298 x <//(818) 986-7298 x301>701 Just In Time Consulting, Inc. Custom software for unique businesses http://www.linkedin.com/in/justinleavens On July 17, 2017 at 3:46:26 AM, Peter Jakobsson via 4D_Tech ( 4d_tech@lists.4d.com) wrote: Hi I remember at last year’s summit, JPR was emphasising how objects were far more optimised than arrays for doing lookups over large numbers of key value pairs. e.g. we usually do this: $x:=find in array(myKEYS;”product_code_x”) if($x>0) $0:=myPRICES{$x} end if How do people prefer to do this with objects ? Enumerate the keys in some systematic way and then populate the object like this > For($i;1;$SIZE) $key:=string($i) $value:=myarrayVAL{$i} OB SET($object;$key;$value) End For Then for retreiving: $key:=string($1) $0:=OB Get($object;$key) …or was JPR suggesting we use object arrays and do some kind of “find” over the object arrays ? Best Regards Peter ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com ********************************************************************** ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************