Цитата(Doka @ Dec 10 2006, 17:30)

Цитата(SasaTheProgrammer @ Dec 10 2006, 14:35)

на "разименование указателя" тратятся драгоценные такты.
ну в ЦОС вовсе они не драгоценные - там "драгоценные" тратятся "на что надо")) т.е. по сравнению с тем, сколько кушают сами циклы ЦОС - оверхед при вызове функций и запихивании в стек параметров - это мизер. По кр.мере по тактам. А вот памяти никогда не бывает много - по кр.мере выбором того или иного способа передачи параметров код можно было бы немного "ужать".
"Случаи разные бываают"

. У нас - с точностью до наоборот. Памяти хватает и с запасом, а вот замена
Код
ptr1->ptr2->s++;
if (ptr1->ptr2->s2 != ptr1->s3)
/* и т.д. */
на
Код
struct S2 *ptrS2 = ptr1->ptr2;
ptrS2->s++;
if (ptrS2->s2 != ptr1->s3)
/* и т.д. */
даёт очень заметный выиграш. Впрочем, компилятор тоже небезгрешен

.
Цитата(=GM= @ Dec 11 2006, 14:27)

To SasaTheProgrammer
1) i8051 конечно, прошу прощения, рука пронесла(:-)
Да я тоже как-то не обратил на это внимания и в результате... понял правильно

Цитата
2) >>(у кого ещё есть дп?

<<
Я имел в виду процессоры Тексас Инструментс, конкретно TMS320F28xx серию, хотя, насколько знаю, у всех современных тексасов есть дп-адресация. А вот у i8051, по-моему, нет такой адресации, да и разбиения на страницы тоже нет, разбиение было в i8048, но опять же только в смысле программного счетчика.
У 8051 был один единственный 16-разрядный регистр, через который можно было адресовать "большую" память. А про тексасы я просто не курсе. Теперь буду знать!
Сообщение отредактировал SasaTheProgrammer - Dec 12 2006, 03:44