There's a lot of hard work gone into fixing all the problems we're seeing
with sequenced and open types, which is much appreciated. Can we now discuss
another set of problems we're seeing with the schema support, concerned with
performance issues? Although you may not want to do much detailed work on
performance at this stage, with a newish project like Tuscany, there are
likely to be some "low-hanging fruit" which could make a lot of difference
if picked off.

Performance seems fine with simple schema, but more complex schema such as
Atom are taking a surprisingly long time to load. Some of the reasons are
apparently:

  - cyclic dependencies within the schema cause recursive type-checking.

  - schemas are loaded too many times. I think this is a problem
  exclusively in the way our code uses Tuscany, but I'll add it to this list
  in case you think Tuscany may be contributing to it too.
  - schemas once loaded are not cached.
  - Tuscany looks in too many places to find the schema, for example
  http://issues.apache.org/jira/browse/TUSCANY-907. I realise the spec
  is quite open in the area of how to interpret the schemaLocation value and
  what to do if it is missing, and perhaps some configuration options are
  needed here.

Reply via email to