Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

сравнение с# и с++

30K
29 марта 2010 года
cpentyc
85 / / 23.02.2010
Код:
#include <iostream.h>
#include <math.h>


void main()
{
   long chislo,i,j,sqr;
    cout<<"input chislo"<<endl;
    cin>>chislo;
    for(i=3;i<chislo;i+=2)
    {
        sqr=sqrt(i);
        for(j=3;j<=sqr;j+=2)
        {
        if(i%j==0)
            break;
        }
    if(j>sqr)
        cout<<i<<" ";  
    }
}

Доброго всем времечка. Вот хотел сравнить скорость шарпа и сиси+ ,как однажды сказала моя преподша, написал програмку для нажодения всех простых чисел до введенного числа на плюсах хотел сравнить с шарпом а понял что в консоли у шарпа не разу не работал((( а сравнивать приложение для виндовс и консоль как то не этичным посчитал. вот прошу помощи переписать код под консоль шарпа.
если кому не лень можете и потестить на скорость. только результаты сообщите пожалуйсто.
Вобще предлогаю в этой теме вылаживать коды и результаты сравнения их выполнения на двух языках. Я лично очень надеюсь что шарп победит))) для меня это жизненая необходимость просто)))
Страницы:
5
29 марта 2010 года
hardcase
4.5K / / 09.08.2005
Статические члены класса System.Console вам в помощь.

З.Ы. .NET будет медленнее раза в 2-3.
444
30 марта 2010 года
patison
323 / / 15.03.2007
Цитата: cpentyc
Я лично очень надеюсь что шарп победит)))


А зря.

Шарп не заточен на производительность. Он-же на базе фреймворка работает, код, прежде чем превратиться в машинный, проходит ([SIZE="1"][COLOR="SlateGray"]все круги ада[/COLOR][/SIZE]) много этапов, о какой производительности может идти речь :D

Кстати, интересная подпись у вас ))

5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: patison
код, прежде чем превратиться в машинный, проходит ([SIZE=1][COLOR=SlateGray]все круги ада[/COLOR][/SIZE]) много этапов, о какой производительности может идти речь :D


Дело не в количестве этапов компиляции, их всего два по большому счету. Дело не в самой качественной оптимизации JIT-компилятором.

30K
30 марта 2010 года
cpentyc
85 / / 23.02.2010
А в чем шарп лучше плюсов????
5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: cpentyc
А в чем шарп лучше плюсов????


Прост в освоении, производительность труда программиста выше.

307
30 марта 2010 года
Artem_3A
863 / / 11.04.2008
Цитата: cpentyc
А в чем шарп лучше плюсов????



а кто тебе сказал, что шарп лучше? :mad:

плюсы шарпа это удобство и простата разработки, скорость разработки, а так же обширная, удобная и очень функциональная библиотека классов. в остальном кресты лучше или ни чем не уступают шарпу. :p

а вообще тема превращается в холивар, пора закрывать! :D

341
30 марта 2010 года
Der Meister
874 / / 21.12.2007
Цитата: hardcase
З.Ы. .NET будет медленнее раза в 2-3.

У меня на решете Эратосфена сешарп выиграл (52 сек: 55 сек :D).

Код:
using System;
using System.Collections.Generic;

namespace CSharp
{
    class Program
    {
        static void Main()
        {
            const int maximum = 80000;
            ICollection<int> primes = new LinkedList<int>();

            for (var number = 2; number < maximum; number++)
            {
                if (IsPrime(number, primes))
                {
                    primes.Add(number);
                    Console.WriteLine(number);
                }
            }
        }

        static bool IsPrime(int number, IEnumerable<int> primes)
        {
            foreach (var prime in primes)
            {
                if (number / prime < prime)
                    return true;

                if (number % prime == 0)
                    return false;
            }

            return true;
        }
    }
}
Код:
#include <iostream>
#include <list>

using namespace std;

typedef list<int> PrimesCollection;

bool IsPrime(int number, const PrimesCollection & primes)
{
    for (PrimesCollection::const_iterator i = primes.begin(); i != primes.end(); i++)
    {
        const int prime = *i;
        if (number / prime < prime)
            return true;

        if (number % prime == 0)
            return false;
    }

    return true;
}

void main()
{
    const int maximum = 80000;
    PrimesCollection primes;

    for (int number = 2; number < maximum; number++)
    {
        if (IsPrime(number, primes))
        {
            primes.push_back(number);
            cout << number << endl;
        }
    }
}
5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Der Meister
У меня на решете Эратосфена сешарп выиграл (52 сек: 55 сек :D).

Вау. :) А теперь убери ICollection<int> и поставь LinkedList<int>. Должно стать еще быстрее.
Хотя тут ускорение из-за шустрого выделения памяти в .NET.

341
30 марта 2010 года
Der Meister
874 / / 21.12.2007
Цитата: hardcase
Вау. :) А теперь убери ICollection<int> и поставь LinkedList<int>. Должно стать еще быстрее.

Не, не стало :(
А почему, кста, должно? Ладно со значащими типами: упаковка и всё такое...

5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Der Meister
Не, не стало :(
А почему, кста, должно? Ладно со значащими типами: упаковка и всё такое...


Считается что вызов через интерфейс медленнее чем виртуальный вызов, но похоже это те еще спички.

30K
30 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата: Artem_3A
а кто тебе сказал, что шарп лучше? :mad:


мне этого никто не говорил, но сказать это мне надо преподше своей. потому что я перешел на шарп когда все плюсы учат.

30K
30 марта 2010 года
cpentyc
85 / / 23.02.2010
а сортировать масивы не пробывали?
307
30 марта 2010 года
Artem_3A
863 / / 11.04.2008
Цитата: Der Meister
У меня на решете Эратосфена сешарп выиграл (52 сек: 55 сек :D)...



ни чего подобного, не обижайте плюсы! уберите вывод на экран и скомпильте. профайлеры показали скорость на моем железе(intel core i7 950 3.1Ghz) для крестов около ~250ms и для шарпа ~800ms. данные по 20 измерениям. и это как бэ не предел, тут дело еще тормозят эстээлевские итераторы, да и ваш код оптимизировать можно.

вывод: в небольшой дискредитации с++ виноват вывод, а вовсе не сверх быстрое выделение памяти в c#. (сорри за тавтологию) :D

ЗЫ: скомпилино было под 32 бита, а вот если под 64? %)

[QUOTE=cpentyc]мне этого никто не говорил, но сказать это мне надо преподше своей. потому что я перешел на шарп когда все плюсы учат.[/QUOTE]

ага, скажи, пусть тетенька похихикает над тобой. :D

а вообще зря ты на шарп перешел, бо он проще в разы, работы с памятью нет, да и вообще... твои однокурсники пишущие на с++ освоят гораздо больше чем ты, вникнут в механизмы распределения памяти, и т.п., а ты будешь знать только дот нет, а все что за ним как темный лес. а когда будешь проходить курс операционных систем, так вообще за голову схватишься.

ЗЫ: да и вообще с++ и c# сравнивать все равно, что теплое с мягким.
ЗЫЗЫ: походу сейчас начнутся священные войны, так что пора закрывать тему, пока кровь не полилась рекой! ]=D

30K
30 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата: Artem_3A

а вообще зря ты на шарп перешел, бо он проще в разы, работы с памятью нет, да и вообще...


от мфц у меня уже крыша едет.

Цитата: Artem_3A
твои однокурсники пишущие на с++ освоят гораздо больше чем ты,


не смеши мою клавиатуру)))))))))

Цитата: Artem_3A

вникнут в механизмы распределения памяти, и т.п.


ой щас умру)))))) :D ты мою группу не видел.

Цитата: Artem_3A

ЗЫ: да и вообще с++ и c# сравнивать все равно, что теплое с мягким.
ЗЫЗЫ: походу сейчас начнутся священные войны, так что пора закрывать тему, пока кровь не полилась рекой! :D


что ты все тему хочешь закрыть. пусть люди выскажуться. и вобще я предлогал сравнивать алгоритмы на скорость тут

30K
30 марта 2010 года
cpentyc
85 / / 23.02.2010
да и вобще у нас разделение только вэб програмист есть из того что не стыдно назвать)))) а вэб програмист отличается полным не знанием основных алгоритмов))))так что не беда)))
8.4K
30 марта 2010 года
z0rch
275 / / 02.09.2008
Цитата: cpentyc

не смеши мою клавиатуру)))))))))
...
ой щас умру)))))) :D ты мою группу не видел.


на самом деле Artem_3A дело говорит, а то что никто не хочет учиться - это вопрос другой..

Цитата: cpentyc

что ты все тему хочешь закрыть. пусть люди выскажуться. и вобще я предлогал сравнивать алгоритмы на скорость тут


а люди уже высказали мысль.
p.s. а на скорость алгоритмы сравнивают не здесь, а за средой разработки;) тем более что большинство алгоритмов давно уже оценено на производительность, и твой тест будет как минимум просто частным случаем =)

30K
30 марта 2010 года
cpentyc
85 / / 23.02.2010
может я забыл сказать но дальше мфц мы не уйдем...и никакого распределения памяти впомине не будет((( а три шарющих человека из четырех в нашей группе поняв это перешли на c#.
536
30 марта 2010 года
alex-kniaz
382 / / 07.08.2008
[OFFTOP]
Цитата:
пусть люди выскажуться


Это грозит большими потерями. В вопросах выбора языка мы непримиримы :)
[/OFFTOP]
А вообще (теоретически) с- плюс си шарпа в простоте, плюс C++ - в большей ... ну типа связи непосредственно с аппаратным обеспечение и ос (без прослоек), а значит в скорости.
Но всё зависит от конкретного компилятора.

8.4K
30 марта 2010 года
z0rch
275 / / 02.09.2008
Цитата: cpentyc
может я забыл сказать но дальше мфц мы не уйдем...и никакого распределения памяти впомине не будет(((


а что вам мешает продолжить это дело самообучением? :)

Цитата: cpentyc
а три шарющих человека из четырех в нашей группе поняв это перешли на c#.


вы судите об их "шарюсти" по тому, что они "прошарюли" что с++ дальше изучаться не будет, или по тому, что они изучив полностью с++, сделали вывод что надо переходить на c#?
upd: хм, а кто вам кстати сказал, что вы изучение с# не закончите на рассмотрении консольного приложения, считающего сумму двух целых чисел? :)

30K
30 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата: z0rch
а что вам мешает продолжить это дело самообучением? :)


мне препод превила отвращение к этому языку.ничего с собой поделать не могу

Цитата: z0rch

вы судите об их "шарюсти" по тому, что они "прошарюли" что с++ дальше изучаться не будет, или по тому, что они изучив полностью с++, сделали вывод что надо переходить на c#?


нет на плечах этих людей группа 29 человек выгребла прошлый семестр. я сам 12 семестровых написал за 2 месяца.

Цитата: z0rch

upd: хм, а кто вам кстати сказал, что вы изучение с# не закончите на рассмотрении консольного приложения, считающего сумму двух целых чисел? :)


я на нем семестровую уже пишу:)

8.4K
30 марта 2010 года
z0rch
275 / / 02.09.2008
Цитата: cpentyc
мне препод превила отвращение к этому языку.ничего с собой поделать не могу


простите, но соболезную.

Цитата: cpentyc

я на нем семестровую уже пишу:)


ввиду вашей нелюбви к с++, оставлю no comments :)

Цитата: cpentyc
с# лучше...мне этого никто не говорил, но сказать это мне надо преподше своей. потому что я перешел на шарп когда все плюсы учат.


если она "привила отвращение к этому языку", значит она сама его не любит, значит доказать что "с# лучше" вам будет более чем легко...разве не так? :)

536
30 марта 2010 года
alex-kniaz
382 / / 07.08.2008
Может докажете ей что язык надо выбирать взависимоти от цели? Доказывается намного легче и объективно
Пример
- база данных с небольшимчислом записей. Т.к. критична скорость написания, а скорость работы при малом числе записей сильно отличаться не будет - C# подходит (не лучше)
- игра (3d, спецэффекты и прочее) - (особенно стратегия с большим числом боевых единиц) - как на бедных неписях в пользу эффектов не экономь, но при их достаточном числе мы вызовем внепланоывый тормоз). Пусть даже это будет 0.5-секундное торможение один раз за всю игру - неприятно. А если на каждом шагу такое? Значит C++ (при той же оптимизированности мы выиграем за счёт работы без помощи виртуальной машины)
444
30 марта 2010 года
patison
323 / / 15.03.2007
Нене, щас не стоит вопрос о цели! Выбор платформы, в зависимости от целей, делается только тогда, когда человек владеет обеими (тремя, четырьмя, ...) платформами (инструментами). А сейчас обсуждается, вроде как, что лучше учить (сначала).

Тов автор, вашу клавиатуру тут никто вроде смешить и не собирался. Смысл изучать язык с готовым фреймворком и мульоном библиотек и функций на все случаи жизни?

А изучение техник работы с памятью - это неотъемлемая часть программы, любого уважающего себя ВУЗа. Так что если до сих пор не изучали - то будете. И уж поверьте, не имея понятия что такое указатели, выделение и утечка памяти, и многое другое - рано или поздно у вас будут трудности. И выруливать из них, вам будет куда сложнее чем вашим одногруппникам (тем кто будет учиться)
5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: alex-kniaz

- игра (3d, спецэффекты и прочее) - (особенно стратегия с большим числом боевых единиц) - как на бедных неписях в пользу эффектов не экономь, но при их достаточном числе мы вызовем внепланоывый тормоз).....

Все несколько иначе. На Цпп написаны многие игровые платформы, в их ядре упор на математику дан, только поэтому используется C++. Вся же логика игр работает на встраиваемых скриптовых языках - Python, Lua. Но не все игры - хардкорные кризисы и фаркраи :) Есть и казуальные, вот их можно и на дотнете ваять. Яркий пример - Eufloria.

5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: z0rch
ввиду вашей нелюбви к с++, оставлю no comments :)

А за что его любить? :rolleyes:
(на правах троллинга)

5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: patison
А изучение техник работы с памятью - это неотъемлемая часть программы, любого уважающего себя ВУЗа. Так что если до сих пор не изучали - то будете. И уж поверьте, не имея понятия что такое указатели, выделение и утечка памяти, и многое другое - рано или поздно у вас будут трудности. И выруливать из них, вам будет куда сложнее чем вашим одногруппникам (тем кто будет учиться)


Работа с памятью - это скорее рутина, которая отнимает рабочее время. Если задача программиста отличается от написания менеджера памяти, то это совершенно непродуктивный и малополезный труд, решение ненужных логических задач. Изучение работы менеджера памяти нужно, и квалифицированный программист просто обязан иметь представление о его устройстве, а также об устройстве и принципах работы сборщика мусора в системах с автоматическим управлением памятью, но это, напоминаю, не является самоцелью программирования вычислительной техники.

8.4K
30 марта 2010 года
z0rch
275 / / 02.09.2008
Цитата: hardcase
А за что его любить? :rolleyes:
(на правах троллинга)


хотя бы за такую замечательную конструкцию :)

 
Код:
int a=1;
a+a+++a+++a+a++;
5
30 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: z0rch
хотя бы за такую замечательную конструкцию :)
 
Код:
int a=1;
a+a+++a+++a+a++;


В C# это тоже возможно. Другое дело, что в C# не будет неопределенного поведения и результат будет однозначным.

18K
30 марта 2010 года
logree
102 / / 27.09.2008
Завидую я автору, ему даётся выбор, а вот к примеру нам он не даётся, лабы мы сдаём на 3х языках (Си(который к стати не проходили :D), C#(ну не нравиться он мне),VB(отвратная вещь)) спрашивается зачем? вроде как для того чтобы почувствовать приимущества каждого языка, лично я для себя выбор сделал и для этого мне не нужно программировать на мёртвых языках(VB). Почему автору нравиться C#? Возможно просто от того что программирование - это не его, те он не рассматривает это как нечто увлекательное :), лично мне кажется что любой Программист должен знать систему снизу доверху.

ТС. толкните преподавателю речь о том что C# новый, песпективный, востребованный, хорошо зарекомендовавший себя язык(если в ответ на это она вам грустно улыбнётся - значит препод своё дело знает)

Зы/ на лекиях нам читают Word и Excel а на лабах спрашивают что делает <conio.h> :D
8.4K
31 марта 2010 года
z0rch
275 / / 02.09.2008
Цитата: hardcase
А за что его любить? :rolleyes:
...
в C# не будет неопределенного поведения и результат будет однозначным.


мы будем любить с++ за неоднозначность и неповторимость :D

30K
31 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата:
лабы мы сдаём на 3х языках


ну мы лабы еще на ,мною любимом бэйсике делаем.А забыл сказать мы до сих пор работаем в шестой студии.а после занакомства с 8 студией у проподши была кислая мина.Видите ли ей не понравилось что там мноко подсказок вылазиет.

30K
31 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата: alex-kniaz
Может докажете ей что язык надо выбирать взависимоти от цели? Доказывается намного легче и объективно



можно попробовать.у меня игра лабиринт.обезательное требование база данных, сохранение отчета в ворде,заставка и хэлпик.

30K
31 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата: logree

(Си(который к стати не проходили :D), C#(ну не нравиться он мне),VB(отвратная вещь))


а что же тогда вам нравится?

Цитата: logree

Почему автору нравиться C#?


мне бэйсие нравится. просто при виде плюсов у меня начинается нервный тик.

Цитата: logree


Возможно просто от того что программирование - это не его, те он не рассматривает это как нечто увлекательное :), лично мне кажется что любой Программист должен знать систему снизу доверху.


программировать то мне нравится. меня.а ваш странный вывод пусть остается на вашей совести.оставим его без коментариев

Цитата: logree

ТС. толкните преподавателю речь о том что C# новый, песпективный, востребованный, хорошо зарекомендовавший себя язык(если в ответ на это она вам грустно улыбнётся - значит препод своё дело знает)


ее любимый возглас. ой как красиво!!!!(ну если конечно красиво) ей лабы на флэше сдавать надо.

30K
31 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата: z0rch
хотя бы за такую замечательную конструкцию :)
int a=1;
a+a+++a+++a+a++;



:D :D :D у меня 4 выводит)))) а у кого что?

536
31 марта 2010 года
alex-kniaz
382 / / 07.08.2008
Цитата:
а что же тогда вам нравится?


подозреваю, варианты такие - C(его не проходили, но это не говорит ничегго о авторе), C++, Delphi-подобные языки, или скриптовые - Python, Haskell и т.д.

З.Ы. А что преподша подсказок слишком много видит - никто не запретилл блокнот.

30K
31 марта 2010 года
cpentyc
85 / / 23.02.2010
Цитата: alex-kniaz

З.Ы. А что преподша подсказок слишком много видит - никто не запретилл блокнот.


так ей и скажу))))))

8.2K
31 марта 2010 года
bagie2
299 / / 26.10.2008
Цитата:
просто при виде плюсов у меня начинается нервный тик.


у меня точно также. просто в дрожь бросает. мне по душе шарп и фасм =) конечно плюсы вещь хорошая, но меня просто убивает структура его проекта, а также линкер и объектные файлы (кстати поэтому масм тоже терпеть не могу) ну и еще синтаксис в некоторых местах

11
31 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
итить какие все привередливые...
а чо тема до сих пор не в общалке?
5
31 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: oxotnik333
а чо тема до сих пор не в общалке?


У меня кармы не хватает :D

536
31 марта 2010 года
alex-kniaz
382 / / 07.08.2008
Цитата:
флэше


SylverLight перспективнее :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог