Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Зачем нужен С++?

Автор Алексей Гринь, июля 9, 2009, 21:46

0 Пользователи и 1 гость просматривают эту тему.

myst

Цитата: Алексей Гринь от июля 11, 2009, 00:25
У нас — сенокосцы, но я слышал какой-то другой вариант от девочки с Ямало-Ненецка... Переверни  моё представление о насекомых! :D
У нас оно называется «Ножка-ножка попляши!». :)

myst

Цитата: Алексей Гринь от июля 11, 2009, 00:25
А то я тут решил потыкать палочкой Ogre. :)
3D-двиг? Я что-то слышал про него краем уха. На ЛОР'е, наверное.

oort

Цитата: Алексей Гринь от июля 11, 2009, 00:25
А, кстати, таких насекомых, которые на вид как пауки, но уж очень тонконогие, у вас как называют? У нас — сенокосцы, но я слышал какой-то другой вариант от девочки с Ямало-Ненецка...
Косиножка?

Алексей Гринь

Ок, вот вам тест на ООП: на скорость вызова нужного виртуального метода. Результаты даны под Release с дефолтными флагами, которые ставит Code::Blocks, хрен знает, какие он там ставит. Компилятор - gcc+minGW.

Задача: определить два класса, один потомок другого; родитель определяет две поля и один метод; потомок наследует эти два поля, добавляет ещё одно - своё - и переопределяет родительский метод. Этот метод должен инкрементировать все унаследованные поля и своё одно, больше ничего не делать. Далее создать потомка и вызывать его переопределённый метод 1 миллиард раз.

Прогонял по десять раз, даны средние величины.

Си++
  скорость: 5.32 с
  размер исходника: 810 байт
  размер бинарного файла: 20.5 кб

Си в объектном стиле:
  скорость: 4.7 мс
  размер исходника: 1.35 кб
  размер бинарного файла: 6 кб

По размеру исходника для Си небольшая ремарка: исходник не использует сторонних макросов, хотя я обычно использую реюзабельный ooc.h, с которым он уменьшится раза в два. Так же исходник следует моей парадигме ooc, которая накладывает определённые ограничения на именование имён интерфейсных методов, поэтому они по размеру громоздче. Чем больше проекты, тем разница по размеру исходников нивелируется, как ни странно, находясь примерно в отношении 1/1.1
Энивэйз, к ooc я наловчился, поэтому по времени написал и то, и то одинаково.

Заключение такое: в очень ресурсоёмких задачах стандартная реализация ООПа СиПлюса хорошенько проигрывает легко и просто эмулируемому ООПу Си (в данном случае на 13 процентов). Естественно, что для писателей окошечек, в кои меня успели зачислить, такая разница не будет заметна, и они могут продолжать писать на Си++.

Если надо, выложу исходники.
肏! Τίς πέπορδε;


Алексей Гринь

Цитата: myst от июля 23, 2009, 17:47
ЦитироватьЕсли надо, выложу исходники.
Давай.
Потерял ужо.

Алсо, делал сёдня минитестики:

1. while быстрее, чем for в 1.02 раза
2. malloc быстрее, чем calloc в 1.14 раза
3. printf быстрее чем std::cout в 3.2 раза

4.
CLala* lala = CLala_create(10, 20);
free(lala);


быстрее чем

CPPLala* lala = new CPPLala(10, 20);
delete lala;


в 1.07 раза (функциональность одна и та же)
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от июля 24, 2009, 21:36
CPPLala* lala = new CPPLala(10, 20);
delete lala;
А определения new, delete и конструкторов хде?

myst

В общем, хотеть исходники посмотреть у себя запускать.

Алексей Гринь

Цитата: myst от июля 26, 2009, 22:38
А определения new, delete и конструкторов хде?
В C++:
   CPPLala(int x, int y): x(10), y(20) { }

В С:
   CLala* CLala_create(int x, int y)
   {
        CLala* self = malloc(sizeof(CLala));
             self->x = 10;
             self->y = 20;

        return self;
   }

Деструктор не определён.
肏! Τίς πέπορδε;

myst

А исходники значит опять зажал? ;)
Объект только x и y содержит?

myst


Алексей Гринь

Проф. Луговской (Xenocephal) метко о с++ и о жизни: http://www.sql.ru/forum/actualthread.aspx?bid=65&tid=466654&pg=1
Тред баян, но хозяйке на заметку :)

Цитата: myst от июля 27, 2009, 19:06
Это очевидно и без тестов.
Но без тестов не очевидно насколько. :)
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от июля 30, 2009, 23:22
Тред баян, но хозяйке на заметку :)
Троллинг Луговского на ЛОР'е ещё не забыт. ;D

Алексей Гринь

肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от июля 30, 2009, 23:30
Ссылку можно? :)
Решил всё перечитать...
Это было года 3 назад, если не больше, я даже его ники не помню. :what: Надо искать Я даже его ники не помню в недрах ЛОР'а. :)

myst


myst

В общем ищи на ЛОР'е по ключевым словам: Луговский, Виталий Луговский, Виталик, vsl, mahuur, antrichrist.

Nekto

Цитата: myst от июля 30, 2009, 23:48
В общем ищи на ЛОР'е по ключевым словам: Луговский, Виталий Луговский, Виталик, vsl, mahuur, antrichrist.

Кстати, не это ли Чорт в свое время вел сайт Скептик.нет?
А кто сейчас занимается этим сайтом?

Ага: http://lurkmore.ru/Луговский

Хворост

Когда я сажала, ливала смородину,
Она превращала мой сад в огородину.
Она превращала, рубила дрова,
На них высекая попутно слова.
arseniiv

myst


Алексей Гринь

Мало ли чо на лурке напишут.

Ип кембриджского университета не доказательство? Много ли троллей сидит под ипом кембриджского университета?
肏! Τίς πέπορδε;

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр