[
https://issues.jboss.org/browse/ISPN-6484?page=com.atlassian.jira.plugin....
]
Sanne Grinovero edited comment on ISPN-6484 at 6/20/16 5:20 AM:
----------------------------------------------------------------
Note: in the description I suggested the option of using a special purpose data
structure.
The reason is that I created a Map-like implementation for Hibernate ORM which is
optimised for very fast lookups. It's definitely not a general-purpose Map
implementation but it might fit this use case well too.
Generally:
- it needs to use {{Class}} as a key
- it's extremely non-efficient at writes (only a good choice if it's very hot at
reads but writes are part of the "setup")
- it's meant for small collections, i.e. design was intended for less than 32
elements.. could work fine with some ~512 I guess but that's not tested..
See {{org.hibernate.service.internal.ConcurrentServiceBinding}}.
I'd also experiment the effects of using a "no-op" predictor to see if
it's all worth it.
was (Author: sannegrinovero):
Note: in the description I suggested the option of using a special purpose data
structure.
The reason is that I created a Map-like implementation for Hibernate ORM which is
optimised for very fast lookups. It's definitely not a general-purpose Map
implementation but it might fit this use case well too.
Generally:
- it needs to use {{Class}} as a key
- it's extremely non-efficient at writes (only a good coice if it's very hot at
reads but writes are part of the "setup")
- it's meant for small collections, i.e. design was intended for less than 32
elements.. could work fine with some ~512 I guess but that's not tested..
See {{org.hibernate.service.internal.ConcurrentServiceBinding}}.
I'd also experiment the effects of using a "no-op" predictor to see if
it's all worth it.
MarshallableTypeHints.getBufferSizePredictor(Class) is very hot
---------------------------------------------------------------
Key: ISPN-6484
URL:
https://issues.jboss.org/browse/ISPN-6484
Project: Infinispan
Issue Type: Enhancement
Components: Core
Reporter: Sanne Grinovero
Assignee: Galder ZamarreƱo
Labels: performance
This method is very hot, especially on its usage of ConcurrentMap#get
Seems worth to try:
* minimise using this service
* tune the map
* use a special purpose data structure
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)