issue_comments: 354635762
This data as json
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | performed_via_github_app | issue |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/ACEmulator/ACE/pull/583#issuecomment-354635762 | https://api.github.com/repos/ACEmulator/ACE/issues/583 | 354635762 | MDEyOklzc3VlQ29tbWVudDM1NDYzNTc2Mg== | 4855786 | 2018-01-01T04:09:28Z | 2018-01-01T04:09:28Z | CONTRIBUTOR | Some items of note: 1. Memory usage increase Current Master - 229 MB initial. After 2 hours stays steady around 229-230 PR 583 - 269 MB initial. After 2 hours up to 289 MB Both versions the client logged in, teleported 10 times, then ran about 10 land blocks 2. BlockingCollection use Since the CompleteAdding() is never called, what was the reasoning for "while (!runningTasks.IsAddingCompleted"? Place holder? 3. Pulling and readding tasks. Have a server thread run the BlockingCollection then it can run the child tasks. Doing the pull and putting the same task back into the collection seems a strange approach. 4. Use the BlockingCollection enumerator - GetConsumingEnumerable(). It will get the next item in the collection and can be called in a Parallel.Foreach statement 5. Having everything run on its own thread does make a bit difficult. What about one thread per player, one for db, one for server, one for landblocks, etc. It may make the overhead to manage a bit more to code, but could make debugging easier. 6. Future change to have a server shutdown command send the CompleteAdding() to the worldqueue. 7. Did see bubbling up of exceptions. Both where nullable being referenced for a value. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 285128338 |