Skip to content

Fix the loading time of puzzle list

Ksawery Radziwiłowicz requested to merge improve_performance into development

This merge request should improve the performance of the puzzle list page on Pupple. It is ensured in two ways:

  1. The controller no longer fetches the list of all puzzles from the database, but only a portion of the data that is displayed on the given page (i.e. 14 rows instead of 150 and going up)
  2. Non-blocking calls using puzzleAttemptService are no longer blocked in a loop (which defeated the whole purpose of having them non-blocking), now Mono.when is used instead to wait for all tasks to finish simultaneously.

Furthermore a DTO is used, which might improve performance, but not as significantly.

I've checked the changes manually and they seem to not break anything while (potentially) improving performance.

Changelog:

## [0.0.4]

### Added

### Changed

- Pass a single DTO instead of multiple HashMap inside PuzzleList.html ( @cbaraya)

- Fetch only the puzzles from the database that will be used ( @kradziwilowicz)

### Fixed

- Made retrieving display names no longer block to increase performance ( @kradziwilowicz)

Edited by Christiaan Baraya

Merge request reports