Search This Blog

Sunday, January 11, 2015

CFD vs "Computed text": CFD wins if many items are needed


Recently I worked on Notes-form that had to be really dynamic regarding displaying different fields for different conditions: changing of one field might hide or show a bunch of other fields and field labels also could be different for different conditions.

At first I used Computed For Display fields to compute and display field labels.
Everything was more or less OK but later I thought that probably it was a bad decision to use CFD fields instead of <Computed Fields> because:
  • there is a limitation of 64Kb for all fields with flag isSummary=True (works for CFD also);
  • Domino Debugger can show only 255 items so excess of CFD fields could prevent me from seeing other needed items during debugging;
  • it makes harder to analyze fields in a document properties window when it's open in UI;

So I decided to get rid of CFD fields and replace them with <Computed text>.
I did it but discovered with surprise that there was a huge gap in performance when I changed document mode from read to edit .

I made a test database and attached it here. If you check it you will see that documents, containing the same number of CFD fields or <Computed text> items, take similar time on opening but critically different time on mode changing - approach with CFD fields works much faster than with <Computed text>.

I have no idea why and I do not see any reasons why it should work like that. Eventually I had to revert my solution back and used CFD fields.

Release 9.0.1FP2 SHF63

Some screens:

1 comment:

  1. Very good article. Did you tell IBM about that issue? We have the exact same Problem, but for us it is different on different PCs (some have the problem, some don't, some have it only some times)...