{"action":"opened","issue":{"url":"https://api.github.com/repos/ElectronicChartCentre/java-vector-tile/issues/13","repository_url":"https://api.github.com/repos/ElectronicChartCentre/java-vector-tile","labels_url":"https://api.github.com/repos/ElectronicChartCentre/java-vector-tile/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/ElectronicChartCentre/java-vector-tile/issues/13/comments","events_url":"https://api.github.com/repos/ElectronicChartCentre/java-vector-tile/issues/13/events","html_url":"https://github.com/ElectronicChartCentre/java-vector-tile/issues/13","id":156472507,"number":13,"title":"Improvement: Optimise encoder.encode()","user":{"login":"timrobertson100","id":237221,"avatar_url":"https://avatars.githubusercontent.com/u/237221?v=3","gravatar_id":"","url":"https://api.github.com/users/timrobertson100","html_url":"https://github.com/timrobertson100","followers_url":"https://api.github.com/users/timrobertson100/followers","following_url":"https://api.github.com/users/timrobertson100/following{/other_user}","gists_url":"https://api.github.com/users/timrobertson100/gists{/gist_id}","starred_url":"https://api.github.com/users/timrobertson100/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timrobertson100/subscriptions","organizations_url":"https://api.github.com/users/timrobertson100/orgs","repos_url":"https://api.github.com/users/timrobertson100/repos","events_url":"https://api.github.com/users/timrobertson100/events{/privacy}","received_events_url":"https://api.github.com/users/timrobertson100/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-24T10:25:16Z","updated_at":"2016-05-24T10:25:16Z","closed_at":null,"body":"This \"issue\" is intended to serve as a discussion around performance improvements that may be possible   for the encoder.  I am about to embark on profiling and exploring speed improvements and wish to see if others have either tried, or have ideas that could be made.\r\n\r\nI am dealing with some pretty dense point tiles which are up to around 5-10MB in size.  I am doing server side filtering on the tiles, which involves decoding a stored tile and rewriting it on the fly - sometimes aggregating the content of 2 or more tiles.  I have found in early tests that rewriting a tile with approx 70% of pixels populated takes around 1.5 seconds on a fast laptop, and is proving insufficient for enjoyable slippy map use - this is in addition to the 1.5 seconds that mapnik requires to render the tile into a PNG.\r\n\r\nThe time is taken in calling ´´´encoder.addFeature()´´´  100,000s of times and I will start by exploring if this can be improved, specifically for point tiles.\r\n\r\nIf anyone has comments, I'd greatly appreciate ideas!\r\n\r\nJust to help illustrate, here is an example output:  \r\n\r\n![screenshot 2016-05-24 12 11 41](https://cloud.githubusercontent.com/assets/237221/15500657/ff54e824-21a9-11e6-9cc7-0b8f2424ff34.png)\r\n"}}
{"actor":{"display_login":"timrobertson100"}}