Отговори на тема  [ 13 мнения ] 
C срещу Asm статия как компилаторите мислят по-добре от нас 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 10, 2006 2:40 pm
Мнения: 2258
Мнение C срещу Asm статия как компилаторите мислят по-добре от нас
http://www.bytecraft.com/downloads/C%20 ... 0Proof.pdf


Вто Май 08, 2007 8:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
е микрочипския определено не мисли по-добре от мене :)


Вто Май 08, 2007 11:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Ми що го ползваш тогава? Мисли и пиши на асемблер :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Май 09, 2007 8:18 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Юли 18, 2006 12:53 pm
Мнения: 22
Местоположение: Липщат
Мнение zaphod, стига се кодоши бе :-)
zaphod, стига се кодоши бе :-) То да е някой новак, ама точно ти да го кажеш ... Да не би да ти доставя удоволствие да екстрактваш call graph, та да можеш да овърлейваш локални променливи на функции :-)


Сря Май 09, 2007 10:23 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение Re: zaphod, стига се кодоши бе :-)
Noble написа:
zaphod, стига се кодоши бе :-) То да е някой новак, ама точно ти да го кажеш ... Да не би да ти доставя удоволствие да екстрактваш call graph, та да можеш да овърлейваш локални променливи на функции :-)

не знам какво общо имат нещата които изброи със качествата на микрочипския компилатор, обаче като го сравнявам с истински компилатори (интел или микрософт за РС), доста е зле да ти кажа.


Сря Май 09, 2007 6:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение 
zaphod - до колкото си спомням компилатора им е взет от линукс ред хед.....

а и още не съм срещнал компилатор за ембедед контролер който да е наред


Сря Май 09, 2007 6:42 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Е на каква база сравняваш компилатор за 8 битов RISС контролер с компилатор за 32 битов CISC процесор?

1. По размер на генерирания код?
2. По скорост на изпълнение?

Ако имаш предивд бъгове или нещо от сорта - добре е да уточниш.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Май 09, 2007 6:43 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
сравнявам ги на база доколко се чувствам тъп когато се меря с компилера. срещу компилера на 6тицата спрях да се боря, след като веднъж се пробвах да напиша един критичен участък от програмата на асемблер, за "по-бързо". е, кода на С++ ме би със около 10% на скорост. това толкова ме учуди, че погледнах асемблера, за да видя как стават тия неща. видях как стават, но за съжаление метода е неприложим от човек. микрочипския компилатор ми понадигна смачканото самочувствие, общо взето кода му е доста неоптимизиран, да не кажа никак. тук не говорим за няккави турбо оптимизации, а за обикновени неща, такива които не разрушават еднозначната връзка със сорса. например когато напиша а=0, очаквам да видя код clr a, той прави clr w0, mov w0,a. това говорим за С30. наложи се да пиша критичните участъци на програмата на асемблер. от друга страна, С30 има най-ужасния инлайн асемблер, който някога е измислян от човек. на практика няма инлайн асемблер, ето защо се наложи да пиша във външен асемблерски файл, нещо което никога не съм правил за компилратор със истински инлайн асемблер.


Сря Май 09, 2007 10:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
TheWizard написа:
zaphod - до колкото си спомням компилатора им е взет от линукс ред хед.....

а и още не съм срещнал компилатор за ембедед контролер който да е наред


GCC за всички процесори, които съм ползвал, бачка ОК. :)


Сря Май 09, 2007 10:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Значи за много малко си ползвал GCC, освен за PC не знам за друго дали бачка ОК, поиграй си повече с арма и ще видим. Относно компилатор ана микрочип, не съм го позлвал никога, сега ако кажеш че и деленето на 2 го прави с нещо различно то шифт .....аз ползвам CCS и добре оптимизира, доволен съм, но и на мен не ми липсват асемблерски части където кода е по критичен, а с CCS и не само на ритичнит еместа а и при някои определени случаи.


Чет Май 10, 2007 12:26 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
zaphod написа:
сравнявам ги на база доколко се чувствам тъп когато се меря с компилера. срещу компилера на 6тицата спрях да се боря, след като веднъж се пробвах да напиша един критичен участък от програмата на асемблер, за "по-бързо". е, кода на С++ ме би със около 10% на скорост. това толкова ме учуди, че погледнах асемблера, за да видя как стават тия неща. видях как стават, но за съжаление метода е неприложим от човек. микрочипския компилатор ми понадигна смачканото самочувствие, общо взето кода му е доста неоптимизиран, да не кажа никак. тук не говорим за няккави турбо оптимизации, а за обикновени неща, такива които не разрушават еднозначната връзка със сорса. например когато напиша а=0, очаквам да видя код clr a, той прави clr w0, mov w0,a. това говорим за С30. наложи се да пиша критичните участъци на програмата на асемблер. от друга страна, С30 има най-ужасния инлайн асемблер, който някога е измислян от човек. на практика няма инлайн асемблер, ето защо се наложи да пиша във външен асемблерски файл, нещо което никога не съм правил за компилратор със истински инлайн асемблер.


Много зависи какъв тип данни си задал за "a". Ако е статична променлива от размерност регистър, поне при мен C18 си го оптимизира.C30 е млад компилатор, може и да е дървеничък.

Апропо - той е базиран точно на GCC, даже до скоро (година) в сайта се мъдреха безплатно сорсовете за домашно компилиране. После Микрочип решиха че е дошло време да изкарват пари от него. Както и да е - нямам наблюдения върху него.

Относно инлайн асемблера - то според мен идеята му е да ръгнеш няколко инструкции. Иначе когато се касае за повече код - аз лично винаги си го правя в отделен асемблерски фаил и си линквам отделно - по чисто е някак си, а и макроасемблера си е по богат.

Не се заяждам - просто като кажеш "Фиат-а" е дърво, е добре да уточниш защо, а не да се превръщаме на бакшиши на стоянка.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Май 10, 2007 8:26 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
във програмите за виндовс които съм писал, имам тук таме асемблер (но не с цел бързодействие, а по други причини), но само инлайн, никъде не съм ползвал отделен файл. за С30 даже една инструкция да напишеш е гадно, само инструнцкии без аргументи лесно се пишат.


Чет Май 10, 2007 1:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
Цитат:
просто като кажеш "Фиат-а" е дърво, е добре да уточниш защо

мисля, че точно за фията няма нужда да се уточнава дървенията :roll:
страничкни огледала за фияти се продават в италия в супермаркетите на щанда за домакините - между чирпаците и метлите.

а иначе всичко е относително.
много лесно е да кажеш, че фията е дърво... ако караш ягуар.
но с ягуара не можеш да отидеш по баирите на лов - там си трябва рейндж-ровър.
обаче ровъра харчи много и коплект гуми е 2-3000лв
пък и зависи лова за кеф ли е или от глад.

и ягуара и ровъра обаче струват купчина пари.
имат и предимства и недостатъци, повечето от които са видими след продължителна употреба на возилото.
строго погледнато всяка кола си има ограничено приложение.
но ако ще ходиш на лов, за да се нахраниш, и с фията става.

с компилаторите е малко по-добре. може да ги пробваш преди да решиш да ги купиш.
разбира се, че ARM/IAR компилатора ще е по-добър от gcc
или че дебъгване в IAR среда за АРМ с JTAG емулатор за $2500 е много по-по-най от дебъгване с вриглер и gdb
обаче и за разликите в цените се колосални


Чет Май 10, 2007 3:25 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 13 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни