Repository navigation
perf(light): reduce the number of iterations in light calculations - #107
Open
theEvilReaper wants to merge 16 commits into
Open
theEvilReaper wants to merge 16 commits into
theEvilReaper wants to merge 16 commits into
Conversation
Contributor
Test results 340 files 340 suites 6m 21s ⏱️ Results for commit f8e0e3a. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes
The current lighting implementation in Falco has some performance drawbacks due to the number of operations required per second. This can negatively impact system performance when multiple instances are active and intensive lighting calculations are performed. The pull request addresses several issues in the lighting calculations but does not reduce memory consumption.
Types of changes
What types of changes does your code introduce to this project?
Put an
xin the boxes that applyChecklist
Put an
xin the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any ofthem, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before
merging your code.
Please derives the next version and the changelog from it. Scopes in use:
(anvil),(light),(instance),(map). A breaking change needs!or aBREAKING CHANGE:footer.implementation and watched them fail for the right reason
test<What><Expectation>, and use plain JUnit assertions@param/@return/@throws—./gradlew buildfails on an incomplete comment
@NotNull; the package@NotNullByDefaultcovers it./gradlew buildis green locallyConcurrency
Delete this section if the change cannot be reached from more than one thread.
Both modules are used concurrently: Minestom starts a virtual thread per chunk, and one
ChunkLightServiceserves any number of callers. Every defect this project has found in its own codeso far was a race that failed silently — corrupted light that was never recomputed, a reader
handed sectors that had already been recycled.
*ConcurrencyTestwhere the change touches shared stateWhat is shared, and how is it guarded?
Measurements
Delete this section if the change makes no claim about performance.
Numbers without their methodology are not accepted; see
Benchmarking.
thread count (
-t)