[midPoint-git] [Evolveum/midpoint] e91e47: Do various prism performance optimizations
mederly
noreply at github.com
Wed Jan 8 12:07:33 UTC 2020
Branch: refs/heads/feature/resource-manager-thread-safety
Home: https://github.com/Evolveum/midpoint
Commit: e91e476a52f2fd005bdb6539f0cd6edbd5ce5810
https://github.com/Evolveum/midpoint/commit/e91e476a52f2fd005bdb6539f0cd6edbd5ce5810
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2020-01-08 (Wed, 08 Jan 2020)
Changed paths:
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/schema/SchemaRegistry.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/xml/XmlTypeConverter.java
M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/xml/XsdTypeMapper.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ComplexTypeDefinitionImpl.java
A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/DummyPrismObjectDefinition.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContextImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/dom/AttributeValueParser.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/dom/DomLessValueParser.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/dom/DomLexicalProcessor.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/dom/DomLexicalWriter.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/dom/ElementValueParser.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/BeanMarshaller.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/BeanUnmarshaller.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/PrismUnmarshaller.java
M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/SchemaRegistryImpl.java
M infra/schema/src/test/java/com/evolveum/midpoint/schema/TestSerialization.java
M infra/schema/src/test/java/com/evolveum/midpoint/schema/performance/AbstractSchemaPerformanceTest.java
M infra/util/src/main/java/com/evolveum/midpoint/util/DOMUtil.java
A infra/util/src/main/java/com/evolveum/midpoint/util/TransientCache.java
Log Message:
-----------
Do various prism performance optimizations
These are related mainly to schema lookups, using hash maps and caches:
- SchemaRegistry.findObjectDefinitionByCompileTimeClass (cache),
- SchemaRegistry.findObjectDefinitionByType (cache),
- SchemaRegistry.determineClassForType (cache),
- SchemaRegistry.determineCompileTimeClass (cache),
- SchemaRegistry.isList for type or element QName (cache),
- BeanMarshaller.canProcess for type QName (cache),
- ComplexTypeDefinition.findLocalItemDefinition for item QName (cache),
- XsdTypeMapper.getJavaToXsdMapping, determineQNameWithNs,
getXsdToJavaMapping (hash maps)
Functional change:
- When parsing, we no longer check for allowed values. Currently this
seems to be used only for enums; and for them it's redundant.
There are some other minor optimizations as well.
More information about the midPoint-svn
mailing list