The repository contains implementations and solutions of tasks for my algorithms and data structures project class.
Realizacja następnego zadania powinna mieć następujące poprawki względem poprzedniego zadania:
- WAZNE! dolozyc wykresy funkcji n, n log n, n^2, etc. dla porównania
- WAZNE! odwoływać się do rysunków i tabel explicitly! (eg. "tabela 1", "tabela 2", etc.)
- WAZNE! w interpolacji na wykresie linia kropkowana bo ciagla sugeruje ze to nie interpolacja
- wiecej roznych czasow do analizy (min, max, avg)
- co najmniej dwie implementacje problemu w różnych językach programowania celem porównania (w tym przypadku niech będzie to C++ i Rust)
- wgląd w wygenerowany kod asemblerowy, zbadanie autowektoryzacji kodu, zbliżenie się do limitu wydajności sprzętu
- zbadanie szczegółów używanych zegarów, ich precyzji, rozdzielczości, mikrobenchmarki
- większe skupienie na wpływie architektury CPU na badany algorytm: cache, branch prediction, etc.
- większa rygorystyka pomiaru pamięci, badanie zużycia w wielu punktach działania programu i wyświetlanie zużycia
pamięci over time, używając narzędzi typu
perf
- jakieś ładne GUI