{"action":"opened","number":291,"pull_request":{"url":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/291","id":36539055,"html_url":"https://github.com/pgjdbc/pgjdbc/pull/291","diff_url":"https://github.com/pgjdbc/pgjdbc/pull/291.diff","patch_url":"https://github.com/pgjdbc/pgjdbc/pull/291.patch","issue_url":"https://api.github.com/repos/pgjdbc/pgjdbc/issues/291","number":291,"state":"open","locked":false,"title":"perf: Excessive time spent in Boolean.getBoolean(\"org.postgresql.forceBinary\")","user":{"login":"Gordiychuk","id":10699594,"avatar_url":"https://avatars.githubusercontent.com/u/10699594?v=3","gravatar_id":"","url":"https://api.github.com/users/Gordiychuk","html_url":"https://github.com/Gordiychuk","followers_url":"https://api.github.com/users/Gordiychuk/followers","following_url":"https://api.github.com/users/Gordiychuk/following{/other_user}","gists_url":"https://api.github.com/users/Gordiychuk/gists{/gist_id}","starred_url":"https://api.github.com/users/Gordiychuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gordiychuk/subscriptions","organizations_url":"https://api.github.com/users/Gordiychuk/orgs","repos_url":"https://api.github.com/users/Gordiychuk/repos","events_url":"https://api.github.com/users/Gordiychuk/events{/privacy}","received_events_url":"https://api.github.com/users/Gordiychuk/received_events","type":"User","site_admin":false},"body":"It fix for issue https://github.com/pgjdbc/pgjdbc/issues/288\r\n\r\nProperty \"org.postgresql.forceBinary\" uses only only for testing purposes and not change in runtime, so, they can be cached to static variable for improve creating statement instance.\r\n\r\nBenchmark for test changes was use from https://github.com/pgjdbc/pgjdbc/pull/290\r\n\r\nJFR hot method before changes on my machine\r\n![hot-method-old](https://cloud.githubusercontent.com/assets/10699594/7891306/53f74628-0654-11e5-96be-f8b2bf959e8d.png)\r\n\r\nJFR hot method after chanages on my machine\r\n![hot-method-new](https://cloud.githubusercontent.com/assets/10699594/7891375/d3f4fcd0-0654-11e5-941f-09ce200dcf29.png)\r\n\r\nBenchmark that measure create Statement became more faster\r\n```\r\nBenchmark                                                           (autoCloseStatements)  Mode  Cnt     Score     Error   Units\r\nFinalizeStatement.createStatement                                                   false  avgt   10    50,137 ?   1,228   ns/op\r\nFinalizeStatement.createStatement:·gc.alloc.rate                                    false  avgt   10  2586,724 ?  63,549  MB/sec\r\nFinalizeStatement.createStatement:·gc.alloc.rate.norm                               false  avgt   10   136,000 ?   0,001    B/op\r\nFinalizeStatement.createStatement:·gc.churn.PS_Eden_Space                           false  avgt   10  2580,038 ? 131,460  MB/sec\r\nFinalizeStatement.createStatement:·gc.churn.PS_Eden_Space.norm                      false  avgt   10   135,667 ?   6,988    B/op\r\nFinalizeStatement.createStatement:·gc.churn.PS_Survivor_Space                       false  avgt   10     0,103 ?   0,063  MB/sec\r\nFinalizeStatement.createStatement:·gc.churn.PS_Survivor_Space.norm                  false  avgt   10     0,005 ?   0,003    B/op\r\nFinalizeStatement.createStatement:·gc.count                                         false  avgt   10   134,000            counts\r\nFinalizeStatement.createStatement:·gc.time                                          false  avgt   10    79,000                ms\r\n```\r\n\r\n","created_at":"2015-05-29T19:51:05Z","updated_at":"2015-05-29T19:51:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/291/commits","review_comments_url":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/291/comments","review_comment_url":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pgjdbc/pgjdbc/issues/291/comments","statuses_url":"https://api.github.com/repos/pgjdbc/pgjdbc/statuses/e185a482da3b83fbe0dfba9cbf5536e314245157","head":{"label":"Gordiychuk:epensive-pars-test-property","ref":"epensive-pars-test-property","sha":"e185a482da3b83fbe0dfba9cbf5536e314245157","user":{"login":"Gordiychuk","id":10699594,"avatar_url":"https://avatars.githubusercontent.com/u/10699594?v=3","gravatar_id":"","url":"https://api.github.com/users/Gordiychuk","html_url":"https://github.com/Gordiychuk","followers_url":"https://api.github.com/users/Gordiychuk/followers","following_url":"https://api.github.com/users/Gordiychuk/following{/other_user}","gists_url":"https://api.github.com/users/Gordiychuk/gists{/gist_id}","starred_url":"https://api.github.com/users/Gordiychuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gordiychuk/subscriptions","organizations_url":"https://api.github.com/users/Gordiychuk/orgs","repos_url":"https://api.github.com/users/Gordiychuk/repos","events_url":"https://api.github.com/users/Gordiychuk/events{/privacy}","received_events_url":"https://api.github.com/users/Gordiychuk/received_events","type":"User","site_admin":false},"repo":{"id":36298416,"name":"pgjdbc","full_name":"Gordiychuk/pgjdbc","owner":{"login":"Gordiychuk","id":10699594,"avatar_url":"https://avatars.githubusercontent.com/u/10699594?v=3","gravatar_id":"","url":"https://api.github.com/users/Gordiychuk","html_url":"https://github.com/Gordiychuk","followers_url":"https://api.github.com/users/Gordiychuk/followers","following_url":"https://api.github.com/users/Gordiychuk/following{/other_user}","gists_url":"https://api.github.com/users/Gordiychuk/gists{/gist_id}","starred_url":"https://api.github.com/users/Gordiychuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gordiychuk/subscriptions","organizations_url":"https://api.github.com/users/Gordiychuk/orgs","repos_url":"https://api.github.com/users/Gordiychuk/repos","events_url":"https://api.github.com/users/Gordiychuk/events{/privacy}","received_events_url":"https://api.github.com/users/Gordiychuk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Gordiychuk/pgjdbc","description":"Postgresql JDBC Driver","fork":true,"url":"https://api.github.com/repos/Gordiychuk/pgjdbc","forks_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/forks","keys_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/teams","hooks_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/hooks","issue_events_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/issues/events{/number}","events_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/events","assignees_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/assignees{/user}","branches_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/branches{/branch}","tags_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/tags","blobs_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/git/refs{/sha}","trees_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/statuses/{sha}","languages_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/languages","stargazers_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/stargazers","contributors_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/contributors","subscribers_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/subscribers","subscription_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/subscription","commits_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/commits{/sha}","git_commits_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/git/commits{/sha}","comments_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/comments{/number}","issue_comment_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/issues/comments{/number}","contents_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/contents/{+path}","compare_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/merges","archive_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/downloads","issues_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/issues{/number}","pulls_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/pulls{/number}","milestones_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/milestones{/number}","notifications_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/labels{/name}","releases_url":"https://api.github.com/repos/Gordiychuk/pgjdbc/releases{/id}","created_at":"2015-05-26T13:40:47Z","updated_at":"2015-05-26T13:40:49Z","pushed_at":"2015-05-29T19:39:44Z","git_url":"git://github.com/Gordiychuk/pgjdbc.git","ssh_url":"git@github.com:Gordiychuk/pgjdbc.git","clone_url":"https://github.com/Gordiychuk/pgjdbc.git","svn_url":"https://github.com/Gordiychuk/pgjdbc","homepage":"","size":12279,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pgjdbc:master","ref":"master","sha":"bd013c8f02342bf16feb03e91ddc7dcb30a3b102","user":{"login":"pgjdbc","id":1371956,"avatar_url":"https://avatars.githubusercontent.com/u/1371956?v=3","gravatar_id":"","url":"https://api.github.com/users/pgjdbc","html_url":"https://github.com/pgjdbc","followers_url":"https://api.github.com/users/pgjdbc/followers","following_url":"https://api.github.com/users/pgjdbc/following{/other_user}","gists_url":"https://api.github.com/users/pgjdbc/gists{/gist_id}","starred_url":"https://api.github.com/users/pgjdbc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgjdbc/subscriptions","organizations_url":"https://api.github.com/users/pgjdbc/orgs","repos_url":"https://api.github.com/users/pgjdbc/repos","events_url":"https://api.github.com/users/pgjdbc/events{/privacy}","received_events_url":"https://api.github.com/users/pgjdbc/received_events","type":"Organization","site_admin":false},"repo":{"id":3370128,"name":"pgjdbc","full_name":"pgjdbc/pgjdbc","owner":{"login":"pgjdbc","id":1371956,"avatar_url":"https://avatars.githubusercontent.com/u/1371956?v=3","gravatar_id":"","url":"https://api.github.com/users/pgjdbc","html_url":"https://github.com/pgjdbc","followers_url":"https://api.github.com/users/pgjdbc/followers","following_url":"https://api.github.com/users/pgjdbc/following{/other_user}","gists_url":"https://api.github.com/users/pgjdbc/gists{/gist_id}","starred_url":"https://api.github.com/users/pgjdbc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pgjdbc/subscriptions","organizations_url":"https://api.github.com/users/pgjdbc/orgs","repos_url":"https://api.github.com/users/pgjdbc/repos","events_url":"https://api.github.com/users/pgjdbc/events{/privacy}","received_events_url":"https://api.github.com/users/pgjdbc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pgjdbc/pgjdbc","description":"Postgresql JDBC Driver","fork":false,"url":"https://api.github.com/repos/pgjdbc/pgjdbc","forks_url":"https://api.github.com/repos/pgjdbc/pgjdbc/forks","keys_url":"https://api.github.com/repos/pgjdbc/pgjdbc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pgjdbc/pgjdbc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pgjdbc/pgjdbc/teams","hooks_url":"https://api.github.com/repos/pgjdbc/pgjdbc/hooks","issue_events_url":"https://api.github.com/repos/pgjdbc/pgjdbc/issues/events{/number}","events_url":"https://api.github.com/repos/pgjdbc/pgjdbc/events","assignees_url":"https://api.github.com/repos/pgjdbc/pgjdbc/assignees{/user}","branches_url":"https://api.github.com/repos/pgjdbc/pgjdbc/branches{/branch}","tags_url":"https://api.github.com/repos/pgjdbc/pgjdbc/tags","blobs_url":"https://api.github.com/repos/pgjdbc/pgjdbc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pgjdbc/pgjdbc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pgjdbc/pgjdbc/git/refs{/sha}","trees_url":"https://api.github.com/repos/pgjdbc/pgjdbc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pgjdbc/pgjdbc/statuses/{sha}","languages_url":"https://api.github.com/repos/pgjdbc/pgjdbc/languages","stargazers_url":"https://api.github.com/repos/pgjdbc/pgjdbc/stargazers","contributors_url":"https://api.github.com/repos/pgjdbc/pgjdbc/contributors","subscribers_url":"https://api.github.com/repos/pgjdbc/pgjdbc/subscribers","subscription_url":"https://api.github.com/repos/pgjdbc/pgjdbc/subscription","commits_url":"https://api.github.com/repos/pgjdbc/pgjdbc/commits{/sha}","git_commits_url":"https://api.github.com/repos/pgjdbc/pgjdbc/git/commits{/sha}","comments_url":"https://api.github.com/repos/pgjdbc/pgjdbc/comments{/number}","issue_comment_url":"https://api.github.com/repos/pgjdbc/pgjdbc/issues/comments{/number}","contents_url":"https://api.github.com/repos/pgjdbc/pgjdbc/contents/{+path}","compare_url":"https://api.github.com/repos/pgjdbc/pgjdbc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pgjdbc/pgjdbc/merges","archive_url":"https://api.github.com/repos/pgjdbc/pgjdbc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pgjdbc/pgjdbc/downloads","issues_url":"https://api.github.com/repos/pgjdbc/pgjdbc/issues{/number}","pulls_url":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls{/number}","milestones_url":"https://api.github.com/repos/pgjdbc/pgjdbc/milestones{/number}","notifications_url":"https://api.github.com/repos/pgjdbc/pgjdbc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pgjdbc/pgjdbc/labels{/name}","releases_url":"https://api.github.com/repos/pgjdbc/pgjdbc/releases{/id}","created_at":"2012-02-06T19:30:35Z","updated_at":"2015-05-29T16:03:00Z","pushed_at":"2015-05-29T19:51:05Z","git_url":"git://github.com/pgjdbc/pgjdbc.git","ssh_url":"git@github.com:pgjdbc/pgjdbc.git","clone_url":"https://github.com/pgjdbc/pgjdbc.git","svn_url":"https://github.com/pgjdbc/pgjdbc","homepage":"","size":15951,"stargazers_count":137,"watchers_count":137,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":139,"mirror_url":null,"open_issues_count":65,"forks":139,"open_issues":65,"watchers":137,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/291"},"html":{"href":"https://github.com/pgjdbc/pgjdbc/pull/291"},"issue":{"href":"https://api.github.com/repos/pgjdbc/pgjdbc/issues/291"},"comments":{"href":"https://api.github.com/repos/pgjdbc/pgjdbc/issues/291/comments"},"review_comments":{"href":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/291/comments"},"review_comment":{"href":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pgjdbc/pgjdbc/pulls/291/commits"},"statuses":{"href":"https://api.github.com/repos/pgjdbc/pgjdbc/statuses/e185a482da3b83fbe0dfba9cbf5536e314245157"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":5,"deletions":1,"changed_files":1}}