atomist-attic / rug

DEPRECATED Runtime for Rugs
GNU General Public License v3.0
53 stars 13 forks source link

Proxy optimization #643

Closed johnsonr closed 7 years ago

johnsonr commented 7 years ago

Radical performance improvement when working with graph nodes.

This reduces the new benchmark in LinkedJsonGraphDeserializerTest from 10,000ms to around 60.

The problem was in inadvertently calling into ServiceLoader via jsSafeCommittingProxy -> Typed.typeFor -> TypeRegistry.findByName(t)

Note: See @cdupuis comment on ServiceLoaderBackedExtensionProvider. Does the new behavior affect this?