ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
425430 Топик полностью
fk0, легенда (18.07.2013 16:16 - 16:19, просмотров: 87) ответил SciFi на Имею живой пример: 50000 строк - 100 килобайт кода.
PIC24: C30 v3.31, ~40-50к LOC -- 256к flash, грубо, k=5, float, const=18kbytes + 15kbytes во внешнем хранилище. PIC18: hitech-c 9.51pl2, ~25-30k LOC -- 128к flash, k=4, нет float, const=10kbytes. ARM7: gcc, ~14k LOC -- 177к flash, (отчасти, без thumb), k=12, float, const=? (много). X51: keil C51, 11k LOC -- около 128к flash (меньше чуть), k=11, float, const=? (много). AVR: avr-gcc, 4k LOC -- 32k flash, k=8, без float, const->0. PIC18: hitech-c 9.51pl2, 6.8k LOC -- 26k flash, k=4, no float, const=2.7k. PIC18: hitech-c 9.51plp2, 22k LOC -- 125k flash, k=5.6, no float, const=9k. Здесь k -- байт на строку. Для PIC с учётом libc (~40k для PIC24 и ~15к для PIC18). В остальных случаях размер libc не известен. Для ARM он наверняка весьма большой (из-за newlib, реальное k порядка 8). Так же для всех проектов кроме AVR использован большой объём строковых констант, что уменьшает k. В PIC24 применены спецсредства для экономии const, в PIC18 проект без --CP=24, в x51 текст положен в спец. секцию, забыл уже как называется, но так компактней. Для первых в списке PIC24 и PIC18 шла серьёзная борьба за уменьшение использования flash с разными трюками. Видно, что PIC-контроллеры проф. уровня дают лучшие результаты по отношению k=FLASH/SLOC, более эффективно используют flash. А x51 и AVR в аутсайдерах. ARM же типа Cortex, thumb-only, имеет шансы догнать контроллеры проф.уровня и перегнать. PS: да, код в индусском стиле (10000 строк ни о чём, комметарии тоже ни о чём) не пишу, активно использую оператор запятая. Скобочки открываю на той же строчке и т.п. (т.е. K&R или BSD или Stroustrup style). Плотность, операторов на строку, высока, выше средней.
[ZX]