{"action":"created","issue":{"url":"https://api.github.com/repos/hazelcast/hazelcast/issues/6043","labels_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/6043/labels{/name}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/6043/comments","events_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/6043/events","html_url":"https://github.com/hazelcast/hazelcast/pull/6043","id":102836224,"number":6043,"title":"Query Performance: InflatableSet Implementation","user":{"login":"jerrinot","id":158619,"avatar_url":"https://avatars.githubusercontent.com/u/158619?v=3","gravatar_id":"","url":"https://api.github.com/users/jerrinot","html_url":"https://github.com/jerrinot","followers_url":"https://api.github.com/users/jerrinot/followers","following_url":"https://api.github.com/users/jerrinot/following{/other_user}","gists_url":"https://api.github.com/users/jerrinot/gists{/gist_id}","starred_url":"https://api.github.com/users/jerrinot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jerrinot/subscriptions","organizations_url":"https://api.github.com/users/jerrinot/orgs","repos_url":"https://api.github.com/users/jerrinot/repos","events_url":"https://api.github.com/users/jerrinot/events{/privacy}","received_events_url":"https://api.github.com/users/jerrinot/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hazelcast/hazelcast/labels/Team:%20Client","name":"Team: Client","color":"99ccff"},{"url":"https://api.github.com/repos/hazelcast/hazelcast/labels/Team:%20Core","name":"Team: Core","color":"eb6420"},{"url":"https://api.github.com/repos/hazelcast/hazelcast/labels/Team:%20QuSP","name":"Team: QuSP","color":"009800"},{"url":"https://api.github.com/repos/hazelcast/hazelcast/labels/Type:%20Enhancement","name":"Type: Enhancement","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/hazelcast/hazelcast/milestones/61","html_url":"https://github.com/hazelcast/hazelcast/milestones/3.6","labels_url":"https://api.github.com/repos/hazelcast/hazelcast/milestones/61/labels","id":982584,"number":61,"title":"3.6","description":"","creator":{"login":"enesakar","id":234086,"avatar_url":"https://avatars.githubusercontent.com/u/234086?v=3","gravatar_id":"","url":"https://api.github.com/users/enesakar","html_url":"https://github.com/enesakar","followers_url":"https://api.github.com/users/enesakar/followers","following_url":"https://api.github.com/users/enesakar/following{/other_user}","gists_url":"https://api.github.com/users/enesakar/gists{/gist_id}","starred_url":"https://api.github.com/users/enesakar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enesakar/subscriptions","organizations_url":"https://api.github.com/users/enesakar/orgs","repos_url":"https://api.github.com/users/enesakar/repos","events_url":"https://api.github.com/users/enesakar/events{/privacy}","received_events_url":"https://api.github.com/users/enesakar/received_events","type":"User","site_admin":false},"open_issues":140,"closed_issues":310,"state":"open","created_at":"2015-02-17T09:27:09Z","updated_at":"2015-08-25T14:57:22Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2015-08-24T16:26:27Z","updated_at":"2015-08-25T15:41:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/6043","html_url":"https://github.com/hazelcast/hazelcast/pull/6043","diff_url":"https://github.com/hazelcast/hazelcast/pull/6043.diff","patch_url":"https://github.com/hazelcast/hazelcast/pull/6043.patch"},"body":"This PR avoid potentially slow HashSet creation. \r\n\r\nOur tests have shown adding data into HashSet might be a bottleneck - specially when equals/hashdode methods are somewhat slow. This PR introduces `InflatableSet` - we are playing a bet most Sets obtained via querying a map are simple iterated over and they are rarely modified. I have a test (obtained from a real customer) which shows 3-5x improvement in throughput with this PR.\r\n\r\nSee commit messages for details. This is the test: https://github.com/hazelcast/hazelcast-simulator/pull/728\r\n\r\nThis modifies the old Java client only. I have yet to check how to ports these changes into the new client. "},"comment":{"url":"https://api.github.com/repos/hazelcast/hazelcast/issues/comments/134634400","html_url":"https://github.com/hazelcast/hazelcast/pull/6043#issuecomment-134634400","issue_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/6043","id":134634400,"user":{"login":"jerrinot","id":158619,"avatar_url":"https://avatars.githubusercontent.com/u/158619?v=3","gravatar_id":"","url":"https://api.github.com/users/jerrinot","html_url":"https://github.com/jerrinot","followers_url":"https://api.github.com/users/jerrinot/followers","following_url":"https://api.github.com/users/jerrinot/following{/other_user}","gists_url":"https://api.github.com/users/jerrinot/gists{/gist_id}","starred_url":"https://api.github.com/users/jerrinot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jerrinot/subscriptions","organizations_url":"https://api.github.com/users/jerrinot/orgs","repos_url":"https://api.github.com/users/jerrinot/repos","events_url":"https://api.github.com/users/jerrinot/events{/privacy}","received_events_url":"https://api.github.com/users/jerrinot/received_events","type":"User","site_admin":false},"created_at":"2015-08-25T15:41:23Z","updated_at":"2015-08-25T15:41:23Z","body":"verify"}}