[ https://issues.apache.org/jira/browse/IGNITE-25155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Bessonov updated IGNITE-25155: ----------------------------------- Description: Here I want to include a number of smaller optimizations and run some benchmarks with them. Unlike issues like IGNITE-16879 and IGNITE-25147, I expect a much smaller impact here. We should also disable throttling and compare the results. h3. What's done here * Fixes: ** Evicted pages did not participate in the calculation of checkpoint speed, thus making it look smaller than it really was. ** Checkpoint progress started its reporting too early, potentially leading to wrong speed estimation. ** "speed measurement" instance from next checkpoint used to be mistakenly allocated by the progress from current checkpoint, adding unnecessary noise and fluctuations to measurements. ** While finishing the checkpoint, the "speed measurement" instance that corresponded to it had a page count smaller than the real page count in finished checkpoint. * Optimizations: ** The number of pages in checkpoint buffer is always the same, yet we calculated it every time. ** Several unnecessary volatile accesses have been fixes. ** Dirty ratio calculation doesn't use floating point division anymore. was: Here I want to include a number of smaller optimizations and run some benchmarks with them. Unlike issues like IGNITE-16879 and IGNITE-25147, I expect a much smaller impact here. We should also disable throttling and compare the results. h3. What's done here * Fixes: ** Evicted pages did not participate in the calculation of checkpoint speed, thus making it look smaller than it really was. ** Checkpoint progress started its reporting too early, potentially leading to wrong speed estimation. ** "speed measurement" instance from next checkpoint used to be mistakenly allocated by the progress from a current checkpoint, adding unnecessary noise and fluctuations to measurements. ** While finishing the checkpoint, the "speed measurement" instance that corresponded to it had a page count smaller than the real page count in finished checkpoint. * Optimizations: ** The number of pages in checkpoint buffer is always the same, yet we calculated it every time. ** Several unnecessary volatile accesses have been fixes. ** Dirty ratio calculation doesn't use floating point division anymore. > Throttling related optimizations > -------------------------------- > > Key: IGNITE-25155 > URL: https://issues.apache.org/jira/browse/IGNITE-25155 > Project: Ignite > Issue Type: Improvement > Reporter: Ivan Bessonov > Assignee: Ivan Bessonov > Priority: Major > Labels: ignite-3 > Attachments: Screenshot from 2025-04-15 18-08-44.png, Screenshot from > 2025-04-15 18-08-47.png > > Time Spent: 10m > Remaining Estimate: 0h > > Here I want to include a number of smaller optimizations and run some > benchmarks with them. > Unlike issues like IGNITE-16879 and IGNITE-25147, I expect a much smaller > impact here. > We should also disable throttling and compare the results. > h3. What's done here > * Fixes: > ** Evicted pages did not participate in the calculation of checkpoint speed, > thus making it look smaller than it really was. > ** Checkpoint progress started its reporting too early, potentially leading > to wrong speed estimation. > ** "speed measurement" instance from next checkpoint used to be mistakenly > allocated by the progress from current checkpoint, adding unnecessary noise > and fluctuations to measurements. > ** While finishing the checkpoint, the "speed measurement" instance that > corresponded to it had a page count smaller than the real page count in > finished checkpoint. > * Optimizations: > ** The number of pages in checkpoint buffer is always the same, yet we > calculated it every time. > ** Several unnecessary volatile accesses have been fixes. > ** Dirty ratio calculation doesn't use floating point division anymore. -- This message was sent by Atlassian Jira (v8.20.10#820010)