From 4737346db83b39592468e0ba45b6d93be8b176fd Mon Sep 17 00:00:00 2001 From: Paul Pacheco Date: Mon, 24 Feb 2020 08:32:46 -0600 Subject: [PATCH] change O() for sweep and prune --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dbc0fdf48..05d1838af 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -114,7 +114,7 @@ Micro-optimizations try to improve the performance of an application by replacin Macro-optimizations try to improve the performance of an application by changing the algorithm. Some examples include: * Serialize a message once O(1), instead of for every single client O(n) -* Change interest management algorithm, as of this writing every object checks every other object O(n^2), it could be replaced by a sweep and prune algorithm O(n) +* Change interest management algorithm, as of this writing every object checks every other object O(n^2), it could be replaced by a sweep and prune algorithm O(n log n) * When synchronizing movement, instead of synchronizing every position change, you could synchronize the velocity and let the other side predict the position. Macro-optimizations tend to change the **scalability** of mirror, by changing an algorithm, you may now support 10x more customers on the same hardware, it is even possible for a macro optimization to make performance worse for small numbers. Macro optimization usually make a really big difference, but are much harder to make.