Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

[C++] Bug fixed Recoded & Optimalized TextFileLoader to c++17 na source martysama

Featured Replies

Opublikowano
  • 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


bsv22.gif

Opublikowano
  • 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
  • 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

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.