|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:59 am
|
Страница 1 от 1
|
[ 13 мнения ] |
|
C срещу Asm статия как компилаторите мислят по-добре от нас
| Автор |
Съобщение |
|
3aek
Ранг: Форумен бог
Регистриран на: Вто Яну 10, 2006 2:40 pm Мнения: 2258
|
 C срещу Asm статия как компилаторите мислят по-добре от нас
|
| Вто Май 08, 2007 8:54 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
е микрочипския определено не мисли по-добре от мене 
|
| Вто Май 08, 2007 11:06 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Ми що го ползваш тогава? Мисли и пиши на асемблер 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Май 09, 2007 8:18 am |
|
 |
|
Noble
Ранг: Минаващ
Регистриран на: Вто Юли 18, 2006 12:53 pm Мнения: 22 Местоположение: Липщат
|
 zaphod, стига се кодоши бе :-)
zaphod, стига се кодоши бе  То да е някой новак, ама точно ти да го кажеш ... Да не би да ти доставя удоволствие да екстрактваш call graph, та да можеш да овърлейваш локални променливи на функции 
|
| Сря Май 09, 2007 10:23 am |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
 Re: zaphod, стига се кодоши бе :-)
не знам какво общо имат нещата които изброи със качествата на микрочипския компилатор, обаче като го сравнявам с истински компилатори (интел или микрософт за РС), доста е зле да ти кажа.
|
| Сря Май 09, 2007 6:15 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
zaphod - до колкото си спомням компилатора им е взет от линукс ред хед.....
а и още не съм срещнал компилатор за ембедед контролер който да е наред
|
| Сря Май 09, 2007 6:42 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Е на каква база сравняваш компилатор за 8 битов RISС контролер с компилатор за 32 битов CISC процесор?
1. По размер на генерирания код?
2. По скорост на изпълнение?
Ако имаш предивд бъгове или нещо от сорта - добре е да уточниш.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Сря Май 09, 2007 6:43 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 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 Местоположение: София
|
GCC за всички процесори, които съм ползвал, бачка ОК. 
|
| Сря Май 09, 2007 10:13 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 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 |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
във програмите за виндовс които съм писал, имам тук таме асемблер (но не с цел бързодействие, а по други причини), но само инлайн, никъде не съм ползвал отделен файл. за С30 даже една инструкция да напишеш е гадно, само инструнцкии без аргументи лесно се пишат.
|
| Чет Май 10, 2007 1:51 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
мисля, че точно за фията няма нужда да се уточнава дървенията
страничкни огледала за фияти се продават в италия в супермаркетите на щанда за домакините - между чирпаците и метлите.
а иначе всичко е относително.
много лесно е да кажеш, че фията е дърво... ако караш ягуар.
но с ягуара не можеш да отидеш по баирите на лов - там си трябва рейндж-ровър.
обаче ровъра харчи много и коплект гуми е 2-3000лв
пък и зависи лова за кеф ли е или от глад.
и ягуара и ровъра обаче струват купчина пари.
имат и предимства и недостатъци, повечето от които са видими след продължителна употреба на возилото.
строго погледнато всяка кола си има ограничено приложение.
но ако ще ходиш на лов, за да се нахраниш, и с фията става.
с компилаторите е малко по-добре. може да ги пробваш преди да решиш да ги купиш.
разбира се, че ARM/IAR компилатора ще е по-добър от gcc
или че дебъгване в IAR среда за АРМ с JTAG емулатор за $2500 е много по-по-най от дебъгване с вриглер и gdb
обаче и за разликите в цените се колосални
|
| Чет Май 10, 2007 3:25 pm |
|
|
|
Страница 1 от 1
|
[ 13 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|