niedziela, lutego 02, 2025

Prakacje z kodowaniem ;-)

Jestem na prakacjach, więc wiadomo, że mój prywatny projekt się posuwa do przodu ;-)

Prakacje mają dużo słońca i takich tam:



Ale wieczoram siedzę i koduję i okazuje się, że mój pomysł na system plików dla macOS, który używa kompresji zaczął działać :-)

Jest straszliwie wolny, prędkość zapisu to na razie tak między 30 KB/s, a 1 MB/s ;-) ale to zrozumiałe, pierwsza wersja systemu zakłada po prostu, że każdy plik jest kompresowany w całości... co oznacza, że funkcje read i write, które czytają/zapisują tylko fragmenty pliku muszą ten plik za każdym razem rozpakować w całości, i w razie zapisu jeszcze raz go całego spakować.

Obecna wersja używa zwykłego systemu plików, zapisuje pliki pod zadanymi ścieżkami, jedyna różnica jest taka, że są one zZIPowane. 
Kolejna wersja powinna być miksem systemu plików i bazy w SQLite. Baza będzie służyła do trzymania struktury plików/katalogów i mapowania tychże do plików z danymi. Pliki będą dzielone na chunki po 8, czy 64 KB (jeszcze muszę zdecydować) i każdy plik będzie zapisywany w bazie tak, że będę tam miał offset i nazwę pliku z danymi... więc jak ktoś będzie chciał odczytać tylko kawałek pliku czy zapisać tylko kawałek pliku to nie będę musiał wszystkiego rozpakowywać, po prostu zrobię to na danym kawałku. A idea jest taka, że pliki danych będą odpowiadały chunkom, więc same powinny być mniejsze... do tego będę miał opcję dodania też obsługi sytuacji gdy po spakowaniu mam większy plik niż przed spakowaniem, wtedy dla każdego chunka mogę trzymać też "algo" użyte do kompresji i w razie czego trzymać raw data.

Naumiałem się, że FUSE ważne jest nie tylko open, ale i release ;-) bo bez tego szybko pojawia się błąd too many open files ;-)


Podobne postybeta
Głupi macOS, głupi WebDAV, głupi ChatGPT ;-)
The Shepherd's Crown
Kod jako insight w umysł ;-)
Robimy z telefonu/tabletu z Androidem serwer WebDAV ;-)
Telefon lepszym aparatem niż prawdziwy aparat ;-)

Brak komentarzy:

Prześlij komentarz