{"action":"created","issue":{"url":"https://api.github.com/repos/bdew/pressure/issues/59","labels_url":"https://api.github.com/repos/bdew/pressure/issues/59/labels{/name}","comments_url":"https://api.github.com/repos/bdew/pressure/issues/59/comments","events_url":"https://api.github.com/repos/bdew/pressure/issues/59/events","html_url":"https://github.com/bdew/pressure/issues/59","id":128402871,"number":59,"title":"Suggestion on performance: stuck when placing a pipe in a large network","user":{"login":"yuyuyzl","id":14276008,"avatar_url":"https://avatars.githubusercontent.com/u/14276008?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyuyzl","html_url":"https://github.com/yuyuyzl","followers_url":"https://api.github.com/users/yuyuyzl/followers","following_url":"https://api.github.com/users/yuyuyzl/following{/other_user}","gists_url":"https://api.github.com/users/yuyuyzl/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyuyzl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyuyzl/subscriptions","organizations_url":"https://api.github.com/users/yuyuyzl/orgs","repos_url":"https://api.github.com/users/yuyuyzl/repos","events_url":"https://api.github.com/users/yuyuyzl/events{/privacy}","received_events_url":"https://api.github.com/users/yuyuyzl/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-01-24T15:03:58Z","updated_at":"2016-01-29T03:05:14Z","closed_at":"2016-01-29T03:05:13Z","body":"I think it's recalculating the whole network data and store them in the pressure input right....? This is very good idea for increasing efficiency while running but if i try to add or modify a large network it will be a disaster on my server because it will cause the server running for minutes calculating the data.\r\n\r\nAnd I know it may be pretty hard, but i still want to suggest you to learn from AE when facing a large network, just make a queue for the whole network, and do only a few blocks of calculation in one tick, decide which ones to calculate next, and save the state to next tick, finally you will finish the pre-calculation without making a huge lag.\r\n\r\nBTW this network is for a ReactorCraft fusion reactor, including more than 4 kinds of liquids in one network, 180+ outputs & about 20 inputs. Total pipe length is 500 pipes and including circles.\r\n\r\nI wish this will be better, i love the infinite transfer speed XD"},"comment":{"url":"https://api.github.com/repos/bdew/pressure/issues/comments/176546303","html_url":"https://github.com/bdew/pressure/issues/59#issuecomment-176546303","issue_url":"https://api.github.com/repos/bdew/pressure/issues/59","id":176546303,"user":{"login":"bdew","id":96327,"avatar_url":"https://avatars.githubusercontent.com/u/96327?v=3","gravatar_id":"","url":"https://api.github.com/users/bdew","html_url":"https://github.com/bdew","followers_url":"https://api.github.com/users/bdew/followers","following_url":"https://api.github.com/users/bdew/following{/other_user}","gists_url":"https://api.github.com/users/bdew/gists{/gist_id}","starred_url":"https://api.github.com/users/bdew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdew/subscriptions","organizations_url":"https://api.github.com/users/bdew/orgs","repos_url":"https://api.github.com/users/bdew/repos","events_url":"https://api.github.com/users/bdew/events{/privacy}","received_events_url":"https://api.github.com/users/bdew/received_events","type":"User","site_admin":false},"created_at":"2016-01-29T03:05:13Z","updated_at":"2016-01-29T03:05:13Z","body":">  from what I know from other pipe mods, it is generally bad to have to many junctions\r\n\r\nNot really true in this mod, loops and junctions are fine as long as it involves only pipes. Bad loops (that involve valves or I/O blocks) are [detected and explode immediately](https://github.com/bdew/pressure/blob/mc1710/src/net/bdew/pressure/pressurenet/PressureConnection.scala#L25).\r\n\r\n> [number of pipes]*[number of inputs]=[total time] \r\n\r\nNot exactly, but yes - each input block maintains their own view of the network, and will run their own refresh on the first tick that they receive fluid to push after the network has changed. So reducing their number should improve performance on changes.\r\n\r\nAt any rate, since you figured out a solution and i don't see anything i can really do with currently available information i'll close this issue."}}