{"action":"created","issue":{"url":"https://api.github.com/repos/spring-projects/spring-integration/issues/2210","repository_url":"https://api.github.com/repos/spring-projects/spring-integration","labels_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/2210/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/2210/comments","events_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/2210/events","html_url":"https://github.com/spring-projects/spring-integration/pull/2210","id":249536028,"number":2210,"title":"INT-4327: Performance optimization for SI Bean Post Processors","user":{"login":"TexanHogman","id":2107301,"avatar_url":"https://avatars0.githubusercontent.com/u/2107301?v=4","gravatar_id":"","url":"https://api.github.com/users/TexanHogman","html_url":"https://github.com/TexanHogman","followers_url":"https://api.github.com/users/TexanHogman/followers","following_url":"https://api.github.com/users/TexanHogman/following{/other_user}","gists_url":"https://api.github.com/users/TexanHogman/gists{/gist_id}","starred_url":"https://api.github.com/users/TexanHogman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TexanHogman/subscriptions","organizations_url":"https://api.github.com/users/TexanHogman/orgs","repos_url":"https://api.github.com/users/TexanHogman/repos","events_url":"https://api.github.com/users/TexanHogman/events{/privacy}","received_events_url":"https://api.github.com/users/TexanHogman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-08-11T04:22:49Z","updated_at":"2017-08-11T20:24:19Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spring-projects/spring-integration/pulls/2210","html_url":"https://github.com/spring-projects/spring-integration/pull/2210","diff_url":"https://github.com/spring-projects/spring-integration/pull/2210.diff","patch_url":"https://github.com/spring-projects/spring-integration/pull/2210.patch"},"body":"https://jira.spring.io/browse/INT-4327\r\n"},"comment":{"url":"https://api.github.com/repos/spring-projects/spring-integration/issues/comments/321910253","html_url":"https://github.com/spring-projects/spring-integration/pull/2210#issuecomment-321910253","issue_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/2210","id":321910253,"user":{"login":"TexanHogman","id":2107301,"avatar_url":"https://avatars0.githubusercontent.com/u/2107301?v=4","gravatar_id":"","url":"https://api.github.com/users/TexanHogman","html_url":"https://github.com/TexanHogman","followers_url":"https://api.github.com/users/TexanHogman/followers","following_url":"https://api.github.com/users/TexanHogman/following{/other_user}","gists_url":"https://api.github.com/users/TexanHogman/gists{/gist_id}","starred_url":"https://api.github.com/users/TexanHogman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TexanHogman/subscriptions","organizations_url":"https://api.github.com/users/TexanHogman/orgs","repos_url":"https://api.github.com/users/TexanHogman/repos","events_url":"https://api.github.com/users/TexanHogman/events{/privacy}","received_events_url":"https://api.github.com/users/TexanHogman/received_events","type":"User","site_admin":false},"created_at":"2017-08-11T20:24:19Z","updated_at":"2017-08-11T20:24:19Z","body":"Wish I had a data driven answer for you, but since I don't I will offer the thought process.\r\n\r\nFirst, inspiration was taken from https://github.com/spring-projects/spring-framework/blob/master/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java#L241\r\n\r\nThe twist is, I thought it best to cache against the class over the bean name since I thought you lose some optimization because many beans may be of the same type.\r\n\r\nSo class object versus String from class.getName() -- both will work and the question I have is the memory cost of a Class versus a String object stored in the cache.  I didn't do the analysis on this so perhaps you have some thoughts to help make the best choice here.   Calling getName() may have some overhead since it eventually goes to vm, so I think you are right that changing from Set<String> to Set<Class> and then removing the getName() call is probably the best approach,\r\n\r\nI did just verify that making the change does preserve the functionality and I can submit this change as part of the PR if you'd like.\r\n\r\n\r\n\r\n"}}
{"actor":{"display_login":"TexanHogman"}}