-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!eu.feeder.erje.net!zen.net.
uk!dedekind.zen.co.uk!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-sp
o-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "slawek" <h...@s...pl>
Newsgroups: pl.comp.programming
Subject: Pętla FOR (w sam raz na poziom FIR'a)
Date: Sat, 27 Apr 2013 18:00:03 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 15.4.3555.308
X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3555.308
Lines: 31
Message-ID: <517bf604$0$1250$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 62.69.230.89
X-Trace: 1367078404 unt-rea-a-02.news.neostrada.pl 1250 62.69.230.89:49365
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:202906
[ ukryj nagłówki ]Takie głupie pytanie - która pętla jest lepsza:
1: for i = 0 to n do call subroutine();
2: for i = n downto 0 call subroutine();
Na zdrowy rozum, obie są takie same. Ale chwila - pierwsza rozwija się
(przynajmniej w niektórych językach) do
cośtam-cośtam-cośtam [zmniejsz rejestr o 1] [porównaj rejestr z wartością
n] [podejmij decyzję o kontynuacji]
natomiast druga do
cośtam-cośtam-cośtam [zmniejsz rejestr o 1] [podejmij decyzję o
kontynuacji]
gdyż znakomita większość CPU nie potrzebuje porównania z zerem po
dekrementacji (ZF się ustawia sama).
Czyli druga postać pętli działa o JEDNĄ INSTRUKCJĘ CPU NA PĘTLĘ SZYBCIEJ -
*WOW*
A teraz bez kłamania - kto tak robi? Wszędzie jak pamiętam pętle są robione
"w górę" nawet jak mogą być "w dół", np. przy przeglądaniu po kolei
wszystkich kontrolek itp.
(Nota Benka - optymalizacja nie bardzo coś dać może, bo czasami trudno
odgadnąć, że n nie zmieni się wewnątrz pętli.)
:)
Następne wpisy z tego wątku
- 27.04.13 18:38 Ministerstwo Propagandy
- 28.04.13 21:04 M.M.
- 28.04.13 21:17 Michoo
- 28.04.13 21:53 firr kenobi
- 28.04.13 23:31 bartekltg
- 29.04.13 10:28 slawek
- 29.04.13 18:53 identyfikator: 20040501
- 30.04.13 07:32 Paweł Kierski
- 01.05.13 20:26 Michoo
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO