log full record after loading to console and add date to first question
temporarily hardcode that record into enketo-webform-fieldsumission.js as instanceStr
in 1.85.1.oc-1:
loading empty form takes 7 seconds and loading record takes 20 seconds
form initialization:
with record: 20 seconds (so all of it)
form initialization profiling results with record:
model init: 173.136962890625ms
preloads init: 0.68505859375ms
first calc update: 7250.473876953125ms π
langs init: 0.14697265625ms
pages init: 4.166259765625ms
itemset update: 0.360107421875ms
set all vals: 17.3046875ms
relevant update: 3382.621826171875ms π
second calc update: 7199.59033203125ms π
required update: 1717.180908203125ms π
mask: 0.714111328125ms
profiling results without record:
model init: 47.880126953125ms
preloads init: 0.68994140625ms
first calc update: 2915.235107421875ms
langs init: 0.127197265625ms
pages init: 4.591064453125ms
itemset update: 0.339111328125ms
set all vals: 11.85498046875ms
relevant update: 1326.7158203125ms
second calc update: 2850.10107421875ms
required update: 717.287109375ms
mask: 0.701171875ms
Number of calcs performed with record in first and second update each: 83 (probably includes nested)
Number of calcs performed without a record in first and second update each: 83 (probably includes nested)
Limitations:
It's possible that the server-to-client requests in the OC system take long (which is not taking into account with my testing).
I used a dummy external data file. A very large file could make a difference.
I do not understand the slowness when loading a record.
[x] confirm again that latest Enketo Express OC does not get slower when loading a record. - No it's the same as with 1.85.1.oc-1 (20 seconds) but in the latest master it doesn't matter whether a record is loaded or an empty form. It's the same.
[ ] set up a way to test this in enketo core, using an OLD version of enketo-core: 5.13.1, and set validateContinuously to true at http://localhost:8005/?xform=ScreeningLabs.xml, add comment-status function
use old pyxform-transformed XForm
http://localhost:8005/single/fs/i/SdiVErEP?ecid=1
in 1.85.1.oc-1:
form initialization:
form initialization profiling results with record:
profiling results without record:
Number of calcs performed with record in first and second update each: 83 (probably includes nested) Number of calcs performed without a record in first and second update each: 83 (probably includes nested)
Limitations: