Article View: pl.comp.lang.asm
Article #30Re: ASM to fajna sprawa
From: Artur Kowalski
Date: Tue, 14 Mar 2006 09:41
Date: Tue, 14 Mar 2006 09:41
63 lines
4746 bytes
4746 bytes
Użytkownik "Stachu 'Dozzie' K." <dozzie@dynamit.im.pwr.wroc.pl.nospam> napisał w wiadomości news:slrne1c4ok.bae.dozzie@hans.zsh.bash.org.pl... > On 14.03.2006, Daniel P. <nako@go2.i.do.not.like.spam.pl> wrote: >> Użytkownik Stachu 'Dozzie' K. <dozzie@dynamit.im.pwr.wroc.pl.nospam> >> w wiadomości <slrne1bumf.am6.dozzie@hans.zsh.bash.org.pl> napisał: >>> Tak? A jak zapewnisz automatyczne wykonanie destruktora? A co >>> z polimorfizmem? A realokacja obszaru używanego do trzymania danych, gdy >>> obecny zrobi się za mały? A przestrzenie nazw? Wszystko makrami zrobisz? >>> Ile z tego będzie trzeba wstawiać ręcznie w każdym miejscu użycia? >> >> A czy naprawdę w każdym programie używasz tych wszystkich technik? > > Nie. Tam, gdzie tego nie używam, używam C. Sam dobierasz narzedzia do skali zadania, a innym zabraniasz. > >> IMHO w C++ jedynym poważnym usprawnieniem było wprowadzenie >> czegoś takiego jak string. Tego tylko brakowało mi w C. > > To jakoś mało używasz C++, IMO. Mnie się podoba cała masa kontenerów > (biblioteka standardowa), odseparowanie reprezentacji danych od operacji > na nich wykonywanych, zwiększenie "code reusability" (OOP i szablony) > i coś, co się nazywa algorytmy uogólnione (#include <algorithm>). > >> W ogóle nie rozumiem o co Wy się kłucicie. > > A ja nie wiem, co to znaczy "kłucicie". Pewnie chodziło "kłócicie", kompilator FORTRAN 68 bez problemu takie błędy rozpoznawał i poprawiał. Ale to był jedyny chyba kompilator który w 10 liniach kodu tolerował ponad setkę błędów i zezwalał na uruchomienie programu. To był swojego rozdzaju sport w owym czasie ;-) > >> Do czego innego służy asembler i do czego innego służą języki wyższego >> poziomu. > > Zgadza się. I zupełnie inna jest konstrukcja języka tu i tam, czego > niektórzy nie mogą zrozumieć i uparcie twierdzą, że assembler nie różni > się za bardzo od C++. To Ty istoty sporu nie zrozumiałeś - w assemblerze mozna pisac tak samo jak innych językach - kwestia makr. C++ nie zwalnia od myślenia, assembler zmusza do myślenia to jedyna zasadnicza różnica. > >> Asembler stosuje się wtedy, gdy naprawdę zależy nam na szybkości >> działana, >> ponieważ tylko wtedy możemy zoptymalizować program tak, aby działał on >> możliwie najszybciej. > > Z tego co wiem, kompilator radzi sobie z optymalizacją dużo szybciej, > efektywniej i bardziej przenośnie od człowieka. Co zresztą dyktuje > zdrowy rozsądek: optymalizator pisał cały sztab ludzi stosujących > wszystkie brudne tricki, jakie da się wykorzystać. Brudne tricki kolidują z przenośnością, można je 'uaktywniać' w C, zlikwidowano to całkowicie w C++. Optymalizator dysponuje tylko określonym zbiorem reguł. Prawdziwa optymalizacja to zmiana algorytmu, a nie wyrzucenie zbędnych operacji. Typowe to np. wywalenie jakiejś instrukcji z wnętrza pętli na zewnątrz - w wielu przypadkach kompilator nie ma prawa tego zrobić np. w przypadku wywolania funkcji. pzdr AK
Technical Details
Message-ID:
<dv634m$phl$1@atlantis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<dove53$oto$1@inews.gazeta.pl> <1hxuveusyewma$.dlg@takeda.tk.invalid> <gophi.pcla.1135824238@news.chmurka.net> <19gt62gras201.dlg@takeda.tk.invalid> <dp0qoe$90r$1@inews.gazeta.pl> <1ryj9votzqtrw$.dlg@takeda.tk.invalid> <hb3ar1hk8g7uhut5ssro8qgsopejodn042@4ax.com> <ducrju$dos$1@inews.gazeta.pl> <slrne0jtl4.isp.dozzie@hans.zsh.bash.org.pl> <dun8fv$1it$1@inews.gazeta.pl> <slrne0uap2.384.dozzie@hans.zsh.bash.org.pl> <dunhv6$m3f$1@atlantis.news.tpi.pl> <slrne0ujul.3od.dozzie@hans.zsh.bash.org.pl> <dv3kh0$iad$1@nemesis.news.tpi.pl> <slrne1arl3.9jm.dozzie@hans.zsh.bash.org.pl> <dv4q9i$es3$1@inews.gazeta.pl> <slrne1bumf.am6.dozzie@hans.zsh.bash.org.pl> <dv522a$6hq$1@nemesis.news.tpi.pl> <slrne1c4ok.bae.dozzie@hans.zsh.bash.org.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "Artur Kowalski" <a.kowalski@cti.mikrotel.pl> Newsgroups: pl.comp.lang.asm Subject: Re: ASM to fajna sprawa Date: Tue, 14 Mar 2006 10:41:22 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 67 Message-ID: <dv634m$phl$1@atlantis.news.tpi.pl> References: <dove53$oto$1@inews.gazeta.pl> <1hxuveusyewma$.dlg@takeda.tk.invalid> <gophi.pcla.1135824238@news.chmurka.net> <19gt62gras201.dlg@takeda.tk.invalid> <dp0qoe$90r$1@inews.gazeta.pl> <1ryj9votzqtrw$.dlg@takeda.tk.invalid> <hb3ar1hk8g7uhut5ssro8qgsopejodn042@4ax.com> <ducrju$dos$1@inews.gazeta.pl> <slrne0jtl4.isp.dozzie@hans.zsh.bash.org.pl> <dun8fv$1it$1@inews.gazeta.pl> <slrne0uap2.384.dozzie@hans.zsh.bash.org.pl> <dunhv6$m3f$1@atlantis.news.tpi.pl> <slrne0ujul.3od.dozzie@hans.zsh.bash.org.pl> <dv3kh0$iad$1@nemesis.news.tpi.pl> <slrne1arl3.9jm.dozzie@hans.zsh.bash.org.pl> <dv4q9i$es3$1@inews.gazeta.pl> <slrne1bumf.am6.dozzie@hans.zsh.bash.org.pl> <dv522a$6hq$1@nemesis.news.tpi.pl> <slrne1c4ok.bae.dozzie@hans.zsh.bash.org.pl> NNTP-Posting-Host: jowisz.xlan.pl X-Trace: atlantis.news.tpi.pl 1142329302 26165 195.116.196.1 (14 Mar 2006 09:41:42 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Tue, 14 Mar 2006 09:41:42 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Original MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit