🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310263

Re: [optymalizacja] Oto dlaczego kod może jeszcze wolno działać

#310263
From: Maciek Godek
Date: Thu, 27 Aug 2020 08:00
19 lines
2604 bytes
W dniu środa, 26 sierpnia 2020 21:14:24 UTC+2 użytkownik Borneq napisał:
> Po restrukturyzacji kodu, zaczał działać 2 razy wolniej.
> Okazało się że:
> - najczęściej była wolana mała metoda, milardy razy, składała się tylko 
> z jednej linii złamanej w dwa wiersze.
> - bardzo wiele razy wołana, miliardy dla niedługiego czasu działania 
> programu.
> - nie można było jej zrobić inline, a przedtem można było:
> dlatego że była w module tak jak i przedtem utils.cpp (wykorzytywana 
> pezez dwie klasy), natomiast jej metoda wołająca była juz przeniesiona 
> do klasy. Przeniosłem wołającą do tego samego pliku.
> Niby ten sam kod, a mógłbym nie zauważyć, gdybym nie porównał z czasem 
> przed restrukturyzacją kodu.

Jeżeli używasz GCC albo clang, spróbuj dodać opcję -flto do kompilacji i zobacz, czy to pomaga (daj znać).

Ponadto, jeżeli chcesz robić pomiary i korzystasz z clang, możesz spróbować skorzystać z pluginu "stabilizer". Jego założenia są wyjaśnione w tej prezentacji, do której link kiedyś tu wklejałem:

https://www.youtube.com/watch?v=r-TLSBdHe1A
Technical Details
Message-ID: <ae630ce1-9db2-4f55-b773-542865e1fea6o@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!peer03.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <5f46b48d$0$557$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:4e37:: with SMTP id d23mr11887740qtw.210.1598515244006;        Thu, 27 Aug 2020 01:00:44 -0700 (PDT)
X-Received: by 2002:aed:31a3:: with SMTP id 32mr17790628qth.46.1598515243815; Thu, 27 Aug 2020 01:00:43 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!peer03.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Thu, 27 Aug 2020 01:00:43 -0700 (PDT)
In-Reply-To: <5f46b48d$0$557$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=213.192.68.153; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
References: <5f46b48d$0$557$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ae630ce1-9db2-4f55-b773-542865e1fea6o@googlegroups.com>
Subject: Re: [optymalizacja] Oto dlaczego kod może jeszcze
 wolno działać
From: Maciek Godek <godek.maciek@gmail.com>
Injection-Date: Thu, 27 Aug 2020 08:00:44 +0000
X-Received-Bytes: 2715
X-Received-Body-CRC: 3296729926
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit