Thought this might be interesting to those benchmarking reads on arrays. I was 
working to optimize one small section of code in our database and found that 
the method I figured would be the slowest ended up being the fastest. Maybe 
this will be helpful to others doing a lot of array work.

Macbook Pro, macOS 10.11.5
LiveCode 8.1 dp2
Data: 135k records

 (method 1) 1.36 seconds
--GET ALL THE RECORDS FROM THIS TABLE
repeat for each element xRecordClusterA in gCSIdatabaseA[xTableID]
        repeat for each element xElement in xRecordClusterA
                put xElement into tRecordA[xTableID][(the keys of 
xRecordClusterA)]
        end repeat
end repeat


(method 2) 220 ms
--GET ALL THE RECORDS FROM THIS TABLE 
repeat for each element xRecord in gCSIdatabaseA[xTableID]
        repeat for each key xRecordID in xRecord
                put xRecord [xRecordID] into tRecordA[xTableID][xRecordID]
        end repeat
end repeat


 (method 3) 77 ms
--GET ALL THE RECORDS FROM THIS TABLE
repeat for each key xRecordCluster in gCSIdatabaseA[xTableID]
        put the keys of gCSIdatabaseA[xTableID][xRecordCluster] into tRecordID
        put gCSIdatabaseA[xTableID][xRecordCluster][tRecordID] into 
tRecordA[xTableID][tRecordID]
end repeat


Best regards,

Mark Talluto
livecloud.io
canelasoftware.com




_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to