Opublikowano 27 Grudnia 202527 Gru Programista Cześć z powodu ze pracowałem nad optymalizacja i moim nowym systemem packa z hashowaniem xxh3 i systemem cache LRU (po pierwszym załadowaniu plików mogę używać tych plików bezpośrednio z RAM wiec to o wiele szybsze niż lądowanie każdego 1 pliku który jest mały z dysku) na 1 pserwerze zdecydowałem się przepisać dużo kodu c++98 ale TextFileLoader był naprawdę okropny wiec przepisałem go całego zachowując stara strukturę kodu.Z mojego testu wydaje się być 5-8x razy szybsze i o wiele bardziej stabilne (idiotoodporne)moimi ograniczeniami było żeby nie zmieniać struktury jeśli zmienię strukturę oczywiście to będzie o wiele lepsze ale chce żeby nie przepisywać całej gry wiec to jest gotowe do kopiuj i wklej.W C++20 można zrobić więcej ale to nie jest potrzebne z ta wersja (tylko jeśli chcesz 5-10% szybciej)Jeśli znajdziesz jakiekolwiek błędy napisz to tutaj spróbuje to naprawić i wysłać tutaj.TextFileLoader.h Tylko zalogowani Zaloguj się, aby wyświetlić chronioną treść Ten post zawiera treści dostępne tylko dla członków. Zaloguj się lub utwórz konto, aby odblokować całą zawartość tego posta. Zaloguj się Utwórz konto TextFileLoader.cpp
Opublikowano 27 Grudnia 202527 Gru Autor Programista W dniu 27.12.2025 o 20:28, asteczek429 napisał(a):Dorzucić do tego kompresję LZ4 i miodzio.LZ4 to przereklamowany produkt w kontekście metina bo i tak dysk musi odczytywać male pliki ja u siebie w packu używam LZ4 i AES-128-CTR (AES-NI support) i mało to zmienia jednak mam system cache który ładuje pliki z ram po 1 załadowaniu i tam tak naprawdę ten mój kod pokazuje "pazur".
Opublikowano 27 Grudnia 202527 Gru Programista Dobra robota, nie jestem pewny, ale wydaje mi się, że z m_kMap_dwKey_kVct_stToken i ms_kMap_dwNameKey_pkTextFileLoader można zrobić unordered_map i to też coś zawsze przyspieszy.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto