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

Nieaktywny

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

🔐 Ukryta Treść 🔐

TextFileLoader.cpp

🔐 Ukryta Treść 🔐


bsv22.gif

Opublikowano
  • Autor
  • Programista
9 minut temu, 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.