Article View: pl.comp.lang.delphi
Article #347088Re: Szybkość odczytu stanu itemu w menu
From: miab
Date: Tue, 08 Oct 2019 13:08
Date: Tue, 08 Oct 2019 13:08
47 lines
3434 bytes
3434 bytes
W dniu 07-10-2019 o 23:18, J-23 pisze: > W dniu 07.10.2019 o 09:04, Roman Tyczka pisze: >> On Mon, 7 Oct 2019 00:08:36 +0200, Marek wrote: >> >>>>> mam w pętlach tysiące odwołań do stanu "Checked" itemu menu np. >>>>> "mnuBasicMode". >>>>> Ciekawi mnie, gdybym ten stan zapamiętał (po jego zmianie) w >>>>> jakiejś zmiennej >>>>> np. BasicMode, czy szybszy byłby odczyt stanu ze zmiennej niż z itemu? >>>> >>>> Długo się zastanawiałem jaki spaghetti code trzeba natrzaskać, żeby >>>> mieć >>>> pętle czytające tysiące razy stan kontrolek wizualnych... nie >>>> wymyśliłem. >>>> Słyszałeś o separacji UI od logiki biznesowej? O MVVM czy chociaż >>>> MVC? A >>>> coś Ci mówi SOLID, KISS czy DRY? >>> >>> Słyszałem, słyszałem. Projekt jest przejęty po kimś i nie opłaca się >>> go rozbijać >>> na np. MVP, jedynie zoptymalizować, stąd to pytanie, na które jak >>> widzę nie znasz >>> odpowiedzi :p >> >> Odpowiedź jest trywialna, choć nieoczywista. Trzeba sprawdzić kod gettera >> od tego property i ocenić jego złożoność. >> Ale i tak na 95% w złym miejscu szukasz optymalizacji. >> Poza tym do takich rzeczy używa się profilerów, a nie strzelania z >> tyłka na >> oślep. Z darmowych np. tego: >> https://www.delphitools.info/samplingprofiler/ >> > Jak najbardziej profiler jest dobrą radą, ale tutaj już na oko widać że > tego kodu nie da sie zoptymalizować :P Powód? z tego co pisał autor > posta jest odwolanie do Checked gdzie na 100% jest to powiązane gdzieś z > wyświetlaniem na ekranie więc już samo to powoduje spadek wydajności > skoro to ma sie x razy odrysować. Podejrzewam ze nic się i-krotnie nie odrysowuje, tylko w filtrze jest sprawdzana wartość if CheckBox.Checked=True then ... A czy ma to wpływ na szybkość w porównaniu z autonomiczną zmienną można po prostu przetestować na dużej pętli(przypuszczam że marginalną). miab
Technical Details
Message-ID:
<5d9c8a44$0$529$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<5d91f9c2$0$541$65785112@news.neostrada.pl> <18dcwoy3zraou.dlg@tyczka.com> <5d9a65e4$0$524$65785112@news.neostrada.pl> <yuaojqihdgu7$.dlg@tyczka.com> <5d9bab99$0$17365$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: miab <miwa14@wp.pl> Subject: Re: Szybkość odczytu stanu itemu w menu Newsgroups: pl.comp.lang.delphi References: <5d91f9c2$0$541$65785112@news.neostrada.pl> <18dcwoy3zraou.dlg@tyczka.com> <5d9a65e4$0$524$65785112@news.neostrada.pl> <yuaojqihdgu7$.dlg@tyczka.com> <5d9bab99$0$17365$65785112@news.neostrada.pl> X-Mozilla-News-Host: news://news.atman.pl Date: Tue, 8 Oct 2019 15:08:12 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <5d9bab99$0$17365$65785112@news.neostrada.pl> Lines: 47 Message-ID: <5d9c8a44$0$529$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 94-172-217-52.dynamic.chello.pl X-Trace: 1570540100 unt-rea-a-02.news.neostrada.pl 529 94.172.217.52:6030 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 3231 X-Received-Body-CRC: 70920482 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit