From b15447195a56cbe71180f6b00f3f6886da1e5f56 Mon Sep 17 00:00:00 2001 From: rarified Date: Sun, 2 Apr 2023 09:50:38 -0600 Subject: [PATCH] #15 --- id/15/15/journal.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/id/15/15/journal.json b/id/15/15/journal.json index 7d6fc101..e72396c4 100644 --- a/id/15/15/journal.json +++ b/id/15/15/journal.json @@ -1 +1 @@ -[{"date":"2021-07-23T03:55:27Z","author":"hoikas","fields":{"title":"Suppress vault callbacks when loading or unloading VNodeMgrs. #970","body":"On MOULa, there have been complaints about linking to some Neighborhoods and activating some players taking a very long time. One of these Neighborhoods in particular is the \"DRC(67) Bevin\". When I attempted to link to this Age, I found the link took approximately 85 seconds each time. On profiling, I discovered that for every node downloaded during the initialization phase, we were calling into Python at least once. Suppressing vault callbacks during times when they are obviously going to storm and be useless decreases the link time to 7 seconds.\n\nInitially, I suppressed just the Python side of the callbacks when an Age is being initialized, but it seems to me that a more reasonable solution is to not run callbacks during vault loads and unloads. Clearly, things are happening at this stage, so we don\u0027t need that level of granulatrity about what is happening to the vault(s) that we are subscribing to or unsubscribing from.\n\nHomologue of H-uru/Plasma#970","type":"Enhancement","severity":"Unrated","priority":"Normal","mergeTo":"master","watchers":"+hoikas","status":"New"}},{"date":"2021-07-23T04:29:13Z","author":"hoikas","patchset":{"number":1,"rev":1,"tip":"8c46126007e39319e1e8631468a54d078f315361","base":"2b8c81ee2a797a03197dbee85d7dda96e1bb0f2e","insertions":73,"deletions":24,"commits":1,"added":0,"type":"Proposal"}},{"date":"2021-07-26T16:13:13Z","author":"rarified","comment":{"text":"There are no cases (either existing or conceivable) where some background listener would be awaiting notification of a particular node type whenever it is retrieved from the vault?","id":"c360e0db361ce3a41b32a342a768cfb54f6c73b3"},"fields":{"watchers":"+rarified"}},{"date":"2021-07-26T17:22:34Z","author":"hoikas","comment":{"text":"For the places where callbacks are suppressed, no. Those happen either before an Age is connected and loaded (VaultDownload) or while the Age or Player is unloading (VaultCull). There are no other valid use cases for those methods. Ideally, no one should be listening at those times. However, the KI is listening given its global nature, but it only needs to know about nodes arriving while you\u0027re actually in an Age. According to profiling, some Python script was constantly firing and decoding JPEG images. The overhead for both the Python firing and the image decoding was significant, so it seemed best to suppress all callbacks when they are not particularly relevant.","id":"72fdb7620b06a42a064af3068d7e02175f3bb755"}},{"date":"2021-07-29T02:31:00Z","author":"hoikas","patchset":{"number":1,"rev":2,"tip":"d007fac5364823fbdfdde1081ea3c30fde5e6810","parent":"8c46126007e39319e1e8631468a54d078f315361","base":"2b8c81ee2a797a03197dbee85d7dda96e1bb0f2e","insertions":55,"deletions":11,"commits":2,"added":1,"type":"FastForward"}},{"date":"2021-07-29T02:32:32Z","author":"hoikas","comment":{"text":"It seems that when I made the above statement, I didn\u0027t realize that normal node add notifications will trigger VaultDownload() under the hood. Oops! So, I\u0027ve limited the callback suppression for that case.","id":"d2fe5e716c00137dbedb03f51a4975ba771a5bc6"}},{"date":"2021-08-05T16:45:09Z","author":"rarified","fields":{"status":"Merged","mergeSha":"13e30220876475602c5cff09b117e8ba0b757668","mergeTo":"master","responsible":"rarified"},"patchset":{"number":2,"rev":1,"tip":"13e30220876475602c5cff09b117e8ba0b757668","base":"099a171f855503e7fe3c4e46a447a06b09335d6b","insertions":121,"deletions":28,"commits":3,"added":1,"type":"Rebase"}},{"date":"2021-08-11T20:17:40Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2021-09-10T16:31:42Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2021-10-03T21:28:36Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2021-10-16T20:55:14Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-02-25T20:10:21Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-02-25T22:37:44Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-05-05T15:46:37Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-07-19T14:55:47Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}}] \ No newline at end of file +[{"date":"2021-07-23T03:55:27Z","author":"hoikas","fields":{"title":"Suppress vault callbacks when loading or unloading VNodeMgrs. #970","body":"On MOULa, there have been complaints about linking to some Neighborhoods and activating some players taking a very long time. One of these Neighborhoods in particular is the \"DRC(67) Bevin\". When I attempted to link to this Age, I found the link took approximately 85 seconds each time. On profiling, I discovered that for every node downloaded during the initialization phase, we were calling into Python at least once. Suppressing vault callbacks during times when they are obviously going to storm and be useless decreases the link time to 7 seconds.\n\nInitially, I suppressed just the Python side of the callbacks when an Age is being initialized, but it seems to me that a more reasonable solution is to not run callbacks during vault loads and unloads. Clearly, things are happening at this stage, so we don\u0027t need that level of granulatrity about what is happening to the vault(s) that we are subscribing to or unsubscribing from.\n\nHomologue of H-uru/Plasma#970","type":"Enhancement","severity":"Unrated","priority":"Normal","mergeTo":"master","watchers":"+hoikas","status":"New"}},{"date":"2021-07-23T04:29:13Z","author":"hoikas","patchset":{"number":1,"rev":1,"tip":"8c46126007e39319e1e8631468a54d078f315361","base":"2b8c81ee2a797a03197dbee85d7dda96e1bb0f2e","insertions":73,"deletions":24,"commits":1,"added":0,"type":"Proposal"}},{"date":"2021-07-26T16:13:13Z","author":"rarified","comment":{"text":"There are no cases (either existing or conceivable) where some background listener would be awaiting notification of a particular node type whenever it is retrieved from the vault?","id":"c360e0db361ce3a41b32a342a768cfb54f6c73b3"},"fields":{"watchers":"+rarified"}},{"date":"2021-07-26T17:22:34Z","author":"hoikas","comment":{"text":"For the places where callbacks are suppressed, no. Those happen either before an Age is connected and loaded (VaultDownload) or while the Age or Player is unloading (VaultCull). There are no other valid use cases for those methods. Ideally, no one should be listening at those times. However, the KI is listening given its global nature, but it only needs to know about nodes arriving while you\u0027re actually in an Age. According to profiling, some Python script was constantly firing and decoding JPEG images. The overhead for both the Python firing and the image decoding was significant, so it seemed best to suppress all callbacks when they are not particularly relevant.","id":"72fdb7620b06a42a064af3068d7e02175f3bb755"}},{"date":"2021-07-29T02:31:00Z","author":"hoikas","patchset":{"number":1,"rev":2,"tip":"d007fac5364823fbdfdde1081ea3c30fde5e6810","parent":"8c46126007e39319e1e8631468a54d078f315361","base":"2b8c81ee2a797a03197dbee85d7dda96e1bb0f2e","insertions":55,"deletions":11,"commits":2,"added":1,"type":"FastForward"}},{"date":"2021-07-29T02:32:32Z","author":"hoikas","comment":{"text":"It seems that when I made the above statement, I didn\u0027t realize that normal node add notifications will trigger VaultDownload() under the hood. Oops! So, I\u0027ve limited the callback suppression for that case.","id":"d2fe5e716c00137dbedb03f51a4975ba771a5bc6"}},{"date":"2021-08-05T16:45:09Z","author":"rarified","fields":{"status":"Merged","mergeSha":"13e30220876475602c5cff09b117e8ba0b757668","mergeTo":"master","responsible":"rarified"},"patchset":{"number":2,"rev":1,"tip":"13e30220876475602c5cff09b117e8ba0b757668","base":"099a171f855503e7fe3c4e46a447a06b09335d6b","insertions":121,"deletions":28,"commits":3,"added":1,"type":"Rebase"}},{"date":"2021-08-11T20:17:40Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2021-09-10T16:31:42Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2021-10-03T21:28:36Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2021-10-16T20:55:14Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-02-25T20:10:21Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-02-25T22:37:44Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-05-05T15:46:37Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2022-07-19T14:55:47Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}},{"date":"2023-04-02T15:50:38Z","author":"rarified","reference":{"hash":"368d757bf8774a1ad00e54fc3eca5a7a8284961f"}}] \ No newline at end of file