char buff[32];
sprintf(buff, "%d", self);
char buff[32];
itoa(self, buff, 10);
char buff[16];
char* ptr = buff + 15;
bool neg = (n < 0);
if(neg)
n = -n;
*ptr-- = 0;
do
{
*ptr-- = (n % 10) + '0';
n /= 10;
}
while(n);
if(neg)
*ptr-- = '-';
char* result = ++ptr;
again:
{
*ptr-- = (n % 10) + '0';
n /= 10;
}
if(n)
goto again;
ЦитироватьPolymorph.: 10140 ms
Plain code: 10219 ms
Цитата: oort от июля 27, 2009, 11:54В смысле кода — исходного или бинарного?
А если еще учесть чуть ли не тот же экспоненциальный рост кода при простом использовании ООП...
Цитата: oort от июля 27, 2009, 10:59Я вот как раз поднял тему с того, что искал, есть ли уже такие системы реализованные.
Да, это, разумеется, не так удобно, как при реализации этой идеи в компиляторе.
Цитата: Алексей Гринь от июля 27, 2009, 10:19Маленький препроцессор на перле, который добавит #for к сишному препроцессору, мне кажется, много времени не займет. А это все, что нужно. С помощью этого препроцессора пишется `проверочно-зависимый' код, в который проверки, благодаря препроцессору, вставляются без дублирования полезного кода. Да, реальную реал-таймовую проверку придется писать руками. Две переменные. Одна поднимается при любом изменении второй, вторая когда нужно. Если поднята первая переменная, переназначаем полиморфную функцию и опускаем первую переменную.Цитата: oort от июля 26, 2009, 12:27Если вы имеете под "языками с хорошим препроцессором" какой-нибудь лисп и компания, то они все куда медленней и сей, если им пользоваться как обычно. Вся идея насморку. Хотим быстрее, но препроцессор слабый, нам советуют препроцессор языка Х, реализации для которого в большинстве случаев медленнее обычного си без выкрутасов в несколько раз... А мы-то хотим быстрее...
На языках с хорошим препроцессором это пишется довольно легко. Для языков с плохим препроцессорм, типа сей, можно написать маленький препроцессор на каком-нибудь легком языке. Что-нибудь типа
Цитата: oort от июля 26, 2009, 12:27Если вы имеете под "языками с хорошим препроцессором" какой-нибудь лисп и компания, то они все куда медленней и сей, если им пользоваться как обычно. Вся идея насморку. Хотим быстрее, но препроцессор слабый, нам советуют препроцессор языка Х, реализации для которого в большинстве случаев медленнее обычного си без выкрутасов в несколько раз... А мы-то хотим быстрее...
На языках с хорошим препроцессором это пишется довольно легко. Для языков с плохим препроцессорм, типа сей, можно написать маленький препроцессор на каком-нибудь легком языке. Что-нибудь типа
Страница создана за 0.044 сек. Запросов: 22.