>- see footer for list info -< Maybe check what's on cflib.org for their take on it.
Ade -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Alex Skinner Sent: 30 September 2005 10:14 To: 'Coldfusion Development' Subject: [CF-Dev] Performance Thoughts >- see footer for list info -< Hi, I have two data sets for arguments sake lets say they are both lists. One will have started life as the result of an xpath and xslt transform and the other a query which has been valuelisted (is that a word) Any thoughts for the quickest way of performing an intersection on the two data sets. e.g. data set 1 a,b,c,d,e dataset 2 a,e,f,g,h,i intersection = a,e (or present in both) its not likely the number of items is going to be ever greater than 100 in each but the data sets will change and this lookup will be called on every screen of my app, which will be under very high load. Some people have said convert them into arrays for comparison but that seems like a parrot fashioned arrays are quicker to analyse than lists argument and the overhead of conversion may out way the performance benefit. I have however found this link http://tools.arlut.utexas.edu/gash2/doc/javadoc/arlut/csd/Util/VectorUtils.h tml and http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_2_1_1/org/ apache/commons/collections/ListUtils.html#intersection(java.util.List,%20jav a.util.List) Though that's going to make deployment on bluedragon.net a little interesting. Currently my code looks like this. <cfscript> /* returns the intersection of two lists */ function listIntersection(lista,listb){ var listab=""; //intersected list var i=0; //iterator var liste=""; //list element to check var ilistlen=listlen(lista); for (i=1;i lte ilistlen;i=i+1){ liste=listgetat(lista,i); if (listFind(listb,liste)){ listab=listappend(listab,liste); } } return listab; } for (i=1;i lte 100;i=i+1){ //how quick to call 100 times writeoutput(listIntersection("alex,john,bob","bob,alex,john,james")); } </cfscript> Any help appreciated Alex _______________________________________________ For details on ALL mailing lists and for joining or leaving lists, go to http://list.cfdeveloper.co.uk/mailman/listinfo -- CFDeveloper Sponsors:- >- Hosting provided by www.cfmxhosting.co.uk -< >- Forum provided by www.fusetalk.com -< >- DHTML Menus provided by www.APYCOM.com -< >- Lists hosted by www.Gradwell.com -< >- CFdeveloper is run by Russ Michaels, feel free to volunteer your help -<
