Goto page 1, 2 Next
Marek
Guest
Wed Mar 06, 2024 10:53 am
https://youtu.be/qo1FFNUVB-Q
Serio przez 30 lat nikt na to nie wpadł, że kolejność zmiennych w
strukturze może mieć znaczenie przy użyciu cache??
40%!!
--
Marek
ptoki
Guest
Thu Mar 07, 2024 6:34 am
On 2024-03-06 02:53, Marek wrote:
Quote:
https://youtu.be/qo1FFNUVB-Q
Serio przez 30 lat nikt na to nie wpadł, że kolejność zmiennych w
strukturze może mieć znaczenie przy użyciu cache??
40%!!
To wiadomo od dawna.
Ale te 40% to jak liczone? Bo wiesz, 40% z czegos co zabiera 2% czasu to
ledwo 1% poprawy...
--
Lukasz
Marek
Guest
Thu Mar 07, 2024 7:48 am
On Wed, 6 Mar 2024 22:34:10 -0600, ptoki <ptoki@email.pl> wrote:
Quote:
To wiadomo od dawna.
I tego nikt nie zrobił? Sorry ale to trochę żenua.
Gość pozamieniał miejscami zmienne w strukturze i uzyskał 40%
zwiększenie wydajności stosu. Nie 1%, nie 4%...a 40%! 30 lat temu
niektórzy onanizowali się w jakieś experymentalnej wersji gcc
specjalnymi flagami do optymalizacji pod intel dającymi bagatela 15%
szybszy kod. Podjarany tym całe libc + kernel + istotne binaria wtedy
tą wersją przekompilowałem po to by stwierdzić, że właściwe nie widzę
różnicy...
Quote:
Ale te 40% to jak liczone? Bo wiesz, 40% z czegos co zabiera 2%
czasu to
ledwo 1% poprawy...
Widziałeś film?
--
Marek
Ghost
Guest
Thu Mar 07, 2024 7:48 am
W dniu 06.03.2024 o 09:53, Marek pisze:
Quote:
https://youtu.be/qo1FFNUVB-Q
Serio przez 30 lat nikt na to nie wpadł, że kolejność zmiennych w
strukturze może mieć znaczenie przy użyciu cache??
40%!!
To mowisz, ze sprawdzili na 30 letnim komputerze i wyszlo, ze aplikacje
dzialaja 40% szybciej?
No to faktycznie, zbrodnia, ze nikt tego wczesniej nie naprawil!
Ghost
Guest
Thu Mar 07, 2024 7:48 am
W dniu 07.03.2024 o 07:05, Marek pisze:
Quote:
On Wed, 6 Mar 2024 22:34:10 -0600, ptoki <ptoki@email.pl> wrote:
To wiadomo od dawna.
I tego nikt nie zrobił? Sorry ale to trochę żenua. Gość pozamieniał
miejscami zmienne w strukturze i uzyskał 40% zwiększenie wydajności
stosu. Nie 1%, nie 4%...a 40%! 30 lat temu niektórzy onanizowali się w
jakieś experymentalnej wersji gcc specjalnymi flagami do optymalizacji
pod intel dającymi bagatela 15% szybszy kod. Podjarany tym całe libc +
kernel + istotne binaria wtedy tą wersją przekompilowałem po to by
stwierdzić, że właściwe nie widzę różnicy...
Ale te 40% to jak liczone? Bo wiesz, 40% z czegos co zabiera 2% czasu
to ledwo 1% poprawy...
Widziałeś film?
Odsylanie do filmow jako "dokumentacji technicznej oprogramowania"
powinno byc karane.
Marek
Guest
Thu Mar 07, 2024 1:51 pm
On Thu, 7 Mar 2024 07:39:52 +0100, Ghost <ghost@heaven.net> wrote:
Quote:
To mowisz, ze sprawdzili na 30 letnim komputerze i wyszlo, ze
aplikacje
dzialaja 40% szybciej?
Serio cache w CPU jest od roku?
Niesamowite...
--
Marek
Marek
Guest
Thu Mar 07, 2024 1:52 pm
On Thu, 7 Mar 2024 07:41:20 +0100, Ghost <ghost@heaven.net> wrote:
Quote:
Odsylanie do filmow jako "dokumentacji technicznej oprogramowania"
powinno byc karane.
Podobnie jak komentowanie nie na temat i bez zrozumienia kontekstu.
--
Marek
J.F
Guest
Thu Mar 07, 2024 4:28 pm
On Thu, 07 Mar 2024 12:51:32 +0100, Marek wrote:
Quote:
On Thu, 7 Mar 2024 07:39:52 +0100, Ghost <ghost@heaven.net> wrote:
To mowisz, ze sprawdzili na 30 letnim komputerze i wyszlo, ze
aplikacje
dzialaja 40% szybciej?
Serio cache w CPU jest od roku?
Niesamowite...
A komputer rzeczywiscie 30 lat?
Bo 30 lat ... 1994 ... juz chyba były pecety z 486, a nawet Pentium.
cache w pecetach pojawił sie raptem kilka lat wczesniej, bo gdzies
przy 386 zaistniała potrzeba ...
J.
J.F
Guest
Thu Mar 07, 2024 4:32 pm
On Thu, 07 Mar 2024 07:05:15 +0100, Marek wrote:
Quote:
On Wed, 6 Mar 2024 22:34:10 -0600, ptoki <ptoki@email.pl> wrote:
To wiadomo od dawna.
I tego nikt nie zrobił? Sorry ale to trochę żenua.
Gość pozamieniał miejscami zmienne w strukturze i uzyskał 40%
zwiększenie wydajności stosu.
stosu czy sterty?
Quote:
Nie 1%, nie 4%...a 40%! 30 lat temu
Ale co - zrobili wyrównanie do granicy słów pamięci?
Niektóre kompilatory same to robiły, bo chyba i procesory wymagały.
Intel x86 akurat był zgrabny i nie wymagał, ale jak widać - wydajność
może ucierpiec ...
Quote:
niektórzy onanizowali się w jakieś experymentalnej wersji gcc
specjalnymi flagami do optymalizacji pod intel dającymi bagatela 15%
szybszy kod. Podjarany tym całe libc + kernel + istotne binaria wtedy
tą wersją przekompilowałem po to by stwierdzić, że właściwe nie widzę
różnicy...
J.
Marek
Guest
Thu Mar 07, 2024 4:44 pm
On Thu, 7 Mar 2024 15:28:00 +0100, "J.F"
<jfox_xnospamx@poczta.onet.pl> wrote:
Quote:
A komputer rzeczywiscie 30 lat?
Co komputer?
Mówimy o odpowiedniej optymalizacji kodu a nie o komputerze. Ta
optymalizacja powinna być już od dawna.
Nie od 30 to zapewne od min 20 bo wtedy już były procesory z
odpowiednio dużym cache umożliwiającym optymalizację, o której mowa.
Oczywiście dyskusyjne może być jedynie czy 20 lat temu wynik
optymalizacji byłby na podobnym poziomie 40%. Zakładam
wspaniałomyślnie, że każda optymalizacja dająca wynik dodatni jest
pożądana.
--
Marek
Marek
Guest
Thu Mar 07, 2024 4:46 pm
On Thu, 7 Mar 2024 15:32:19 +0100, "J.F"
<jfox_xnospamx@poczta.onet.pl> wrote:
Quote:
Ale co - zrobili wyrównanie do granicy słów pamięci?
Zamienili miejscami zmienne w strukturze. ROTFL. Tylko tyle i aż
tyle. Obejrzyj film.
--
Marek
Arnold Ziffel
Guest
Thu Mar 07, 2024 5:32 pm
J.F <jfox_xnospamx@poczta.onet.pl> wrote:
Quote:
zwiększenie wydajności stosu.
stosu czy sterty?
Stosu TCP/IP.
--
- Skad wracasz taki wesoly?
- Z dworca, odprowadzalem tesciowa...
- A dlaczego masz takie brudne rece?
- Bo z radosci poklepalem lokomotywe!
J.F
Guest
Thu Mar 07, 2024 10:47 pm
On Thu, 07 Mar 2024 15:46:00 +0100, Marek wrote:
Quote:
On Thu, 7 Mar 2024 15:32:19 +0100, "J.F"
jfox_xnospamx@poczta.onet.pl> wrote:
Ale co - zrobili wyrównanie do granicy słów pamięci?
Zamienili miejscami zmienne w strukturze. ROTFL. Tylko tyle i aż
tyle. Obejrzyj film.
12 minut gadania, a mógl strescic w 3 :-)
J.
J.F
Guest
Fri Mar 08, 2024 1:09 am
On Thu, 07 Mar 2024 15:44:49 +0100, Marek wrote:
Quote:
On Thu, 7 Mar 2024 15:28:00 +0100, "J.F"
jfox_xnospamx@poczta.onet.pl> wrote:
A komputer rzeczywiscie 30 lat?
Co komputer?
Mówimy o odpowiedniej optymalizacji kodu a nie o komputerze.
To było odnosnie Ghosta, który cos pytał/pisał o 3 latach.
Quote:
Ta optymalizacja powinna być już od dawna.
Nie od 30 to zapewne od min 20 bo wtedy już były procesory z
odpowiednio dużym cache umożliwiającym optymalizację, o której mowa.
Oczywiście dyskusyjne może być jedynie czy 20 lat temu wynik
optymalizacji byłby na podobnym poziomie 40%. Zakładam
wspaniałomyślnie, że każda optymalizacja dająca wynik dodatni jest
pożądana.
Czyli rozumiem, ze czepiasz/nasmiewasz sie, ze nikt tego wczesniej nie
zrobił?
No coz - obejrzałem ten film. Zauwaz, ze na intelu poprawy nie
zauwazono. Czy moze raczej - intel na obu wersjach jest równie zły, bo
3x wolniejszy. To po co ktos miałby poprawiac, skoro to 1% daje, a i
to nie zawsze ?
A kiedy sie pojawił procesor, na którym to cos daje?
Do czego w ogóle służa te struktury netns_ipv4?
https://github.com/torvalds/linux/blob/master/include/net/netns/ipv4.h
Duza ta struktura. Ile ona ma razem bajtów?
Chodzi tylko o to, żeby pierwsze dostępy trafiały w jedną linie cache?
A całosc sie w ogóle miesci w 1 linii? Bo jak nie, to i tak trzeba
czytac dwie, no chyba, ze sporo danych jest niepotrzebna :-)
Tych struktur jak sie domyslam, jest sporo w pamieci, ale jak ułozone?
Tablica jakas, alokowane dynamicznie?
Bo jak duzo i nikt nie zadbał o wlasciwe wyrównanie, to granica linii
cache bedzie jakos losowo wypadała w tych strukturach.
Nadal zgromadzenie najczesciej uzywanych zmiennych obok siebie moze
miec sens, ale co - reszta struktury jest nieuzywana? To może ją
skasować? :-)
No i jeszcze ... tam mają karty po 100-200Gb/s ? Wow.
Coz to za karty/interfejsy?
Może na słabszej karcie nie ma to znaczenia, bo wąskie gardło jest
gdzie indziej ?
A co to w ogóle za konstrukcja/element w strukturze
__cacheline_group_begin(netns_ipv4_read_tx);
Jakies wyrównanie ?
J.
ptoki
Guest
Fri Mar 08, 2024 4:10 am
On 2024-03-07 00:05, Marek wrote:
Quote:
On Wed, 6 Mar 2024 22:34:10 -0600, ptoki <ptoki@email.pl> wrote:
To wiadomo od dawna.
I tego nikt nie zrobił? Sorry ale to trochę żenua. Gość pozamieniał
miejscami zmienne w strukturze i uzyskał 40% zwiększenie wydajności
stosu. Nie 1%, nie 4%...a 40%!
ale w 9 minucie masz +3%
I testy tylko na trzech przypadkach.
Mnie to nie jara.
Quote:
30 lat temu niektórzy onanizowali się w
jakieś experymentalnej wersji gcc specjalnymi flagami do optymalizacji
pod intel dającymi bagatela 15% szybszy kod. Podjarany tym całe libc +
kernel + istotne binaria wtedy tą wersją przekompilowałem po to by
stwierdzić, że właściwe nie widzę różnicy...
No bo jarasz sie naglowkami i pierdolami. Ale to nieszkodliwe. Czasem
czas zjada...
Quote:
Ale te 40% to jak liczone? Bo wiesz, 40% z czegos co zabiera 2% czasu
to ledwo 1% poprawy...
Widziałeś film?
A ty widziales?
Ze zrozumieniem?
to sa przypadki kiedy masz szybkie karty i duzo flowow.
Do tego przyrost jest dla AMD ale juz zla intela jest meh albo wrecz
gorzej (9 minuta)
Podejrzewam ze jakby poleciec po wiekszej ilosci platform to wyniki beda
rozne.
Linuxa sie nie optymalizuje na konkretny sprzet zazwyczaj.
--
Lukasz
Goto page 1, 2 Next