Chociaż zazwyczaj widziałem pytania filozoficzne, takie jak twoje, odrzucone i zamknięte, nadal lubię je i dyskusję, którą zachęcają. (Próbowałem dopasować wszystko do komentarza, ale to nie zadziałało.)
Krótka odpowiedź brzmi, że rozsądnie małe bufory są bezpieczne i są zwykle wybierane jako najmniejszy wspólny mianownik struktury, która jest obsługiwany (np. Twój przykład, 1024, ze względu na fakt, że większość systemów plików przydziela bloki w niektórych wielokrotności jednego kilobajta, tj. 1024 bajtów).
Dłuższą odpowiedzią jest to, że zmienne rozmiary buforów (zwykle większe niż bezpieczne wartości domyślne) odgrywają bardzo ważną rolę w optymalnej wydajności oprogramowania, ponieważ oddziałuje on ze sprzętem, a nawet typem obciążenia. Nie ma najlepszego rozmiaru dla wszystkich środowisk sprzętowych i systemów operacyjnych. Dostrajanie rozmiarów buforów jest tanim sposobem, aby programy działały lepiej w twoim systemie. Jako taki jest również używany przez nieuczciwych programistów do udawania, że ich oprogramowanie jest lepsze. Rozważmy na przykład oprogramowanie serwera sieciowego. Możesz twierdzić, że twoje oprogramowanie serwera sieciowego ma lepszą wydajność, dostrajając wszystkie jego rozmiary buforów, a następnie porównując je z instalacją Apache z domyślną konfiguracją. Można również wąskie gardło oprogramowania na zewnątrz, stosując strojenie jądra, które pasuje do konfiguracji jednego oprogramowania, ale powoduje, że inne używają dodatkowej ramki dla każdego żądania, na przykład.
Strojenie w ten sposób jest również niebezpieczne, ponieważ może ułatwić wykonywanie ataków typu "odmowa usługi", takich jak "wolne loris"/wyczerpanie zasobów. Jeszcze raz mniejszy jest bezpieczniejszy, choć niekoniecznie "lepszy" w zależności od priorytetu bezpieczeństwa w stosunku do wydajności.
1K to ilość danych, które komputery lubią wyrzucać. na przykład Protokół IP –
Wiele z rozdziału 13 TLPI poświęconych jest omawianiu tego rodzaju rzeczy. – Duck