srovnani delphi & c++ & c#
Tomáš Hamouz
hamouz@alsoft.cz
Středa Únor 2 09:45:52 CET 2005
>> - pokud knihovny prilinkovavam ke svemu programu, mohu si pouzit
>> jakou chci konvenci bez ohledu na jazyk - je to interni zalezitost
SS> Zalezi na platforme, tohle bohuzel kazdy kompiler C/C++ neumi.
SS> Alespon zaryti UNIXaci mi tvrdili, ze pouze cdecl, nic jineho.
Pripomina mi to zdejsi obcasny flame Win/Linux.
SS> Jinak klasicke funkce jsou volany cdecl a to je vetsina volani
SS> (jine volani totiz omezuje synataxi, neumoznuje promenny pocet
SS> parametru).
Vyhody cdecl jsou mi znamy, ale pokud napisu funkci ktera nepouziva
promenny pocet parametru a vim ze bude volana velmi cast, nevidim
jediny duvod proc neprovest rucni optimalizaci a deklarovat ji s jinou
volaci konvenci. Nastesti toto lze provest pro kazdou funkci
individualne.
SS> Dival jsem se na preklad c# do ASM a take volal pomoci zasobniku.
Je pravda ze to je C standard, a zde asi nejvetsi zpomaleni neni.
>> - pokud chci pouzit sdilene knihovny (dll) jen pro sebe, mohu pouzit
>> libovolnou konvenci, bez ohledu na jazyk.
SS> Tohle jiz neni pravda, nebot se u DLL ocekava nektery typ volani a
SS> zadny jiny. Napriklad UDF pro Firebird, nebo DLL do nekterych
SS> aplikaci, ktere ktere umi volat DLL ocekavaji jen urcity typ
SS> volani (stdcall).
Stale zde nevidim rozpor. Pokud chci napsat UDF pro Firebird (par
jsem jich jiz napsal), _musim_ pouzit konvenci kterou urcili vyvojari
Firebirdu. Pokud si budu psat _vlastni_ program, ktery z duvodu
modularity rozdelim na exe a hromadu dll, mohu klidne pouzit volani
jake mi v danem okamziku prijdou nejucelnejsi (nema ovsem smysl byt
originalni za kazdou cenu).
>> Nejak nemohu najit kde ma Delphi tak obrovske vyhody proti
>> C++. Navic si myslim ze pomalost programu je jen hodne
>> vyjimecne zpusobena rezii jazyka (predavani parametru apod.),
SS> Tohle bych si nedovolil tvrdit, rezie napriklad u c# je velmi podstatna
SS> (garbage collector).
GC jsem na mysli nemel (i kdyz i to ma na svedomi jen cca 10-15%
casu), mel jsem na mysli rezii danou predavanim parametru, pripadne
kvalitou optimalizace generovaneho kodu.
Uz zde zaciname byt OT.
Tomas
>> podstatne casteji nevhodnou volbou algoritmu ci nevhodnym
>> resenim veci v tesne smycce (vypis prubehu vypoctu na obrazovku...)
SS> Souhlas.
Další informace o konferenci Hw-list