dxWDL
dxWDL copied to clipboard
Faster lookups for reuse leveraging IR
Right now I still notice that queries for existing applets and files can take a varying amount of time - sometimes quite long. My guess is that some of this has to do with how system performance on rendering workflows or applets with long specifications.
Would it make sense to use an in query to limit the response to a smaller set of files, e.g., pseudocode-wise, rather than:
applets := findDataObjects(class=applet)
workflows := findDataObjects(class=workflow)
instead do:
applet_checksums = ['C56E42263E2AD139AC92BF6AE0AF4CDA', ...]
applets := findDataObjects(class=applet, properties=[{"dxWDL_checksum": checksum} for checksum in checksums])
workflows := findDataObjects(class=workflow, properties...)
I think the complex property will still cause backend to search through all objects, but I think it'll limit how many of the found objects get described, thus speeding response time.
(this is based on my guesses of overall implementation)