Re[17]: С++ и .NET
От: FR  
Дата: 14.10.04 06:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, FR, Вы писали:


FR>>просто ты не работал с интерпретаторами, я тоже так думал


VD>Работал и не мало. Потому и говорю.


а с чем именно

VD>>>А ссылки можно?


FR>>http://www.python-in-business.org/

FR>>http://www.python.org/pycon/
FR>>http://www.europython.org/
FR>>comp.lang.python

VD>Это все на английском. Да и не море это. А на русском по дотнету форумов хватает, а по питону я даже и не видел.


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

FR>>Я имею в виду сам принцип, минимум встроенных средств, все остальное в библиотеках


VD>А где иначе? Другое дело, что библиотеки тоже разные бывают.


да полно у питона библиотек.

FR>>Ладно это все фигня, надо на реальных задачах смотреть.


VD>Ну, реальную игру я смотел. Правда у меня сейчас машина очень шустрая, но все же. Ощущения от игры прекрасное. Тормозов нет. Скролинг плавный. Зверющки бегают без запинки. Все в 3D. А вот рэйтивный Варкрафт на P4 3.0 тормозил.


Ладно как я посмотрю какую нибудь приличную игру на шарпе так и будем спорить(или не будем )

FR>>понимаешь когда что-то слишком усиленно рекламируют, это почти всегда значит

FR>>что на самом деле все не так радужно как хотят показать.

VD>Рекламируют — это когда продать хотят. Я же тебе ничего продавать не хочу. Я просто выражаю свои ощущения. И делюсь тем что знаю.


Не всегда хотят продать, бывает и религиозная пропаганда

FR>>Я там по форумам немного лазил, писали что быстрее.


VD>Дык я тебе и говорю, что возможно. Но заслуги Шарпа и дотнета в этом нет. Уж в этом то я очень неплохо разбираюсь.

VD>А вот что действительно быстрее, так это скорость разработки и отладки.

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

FR>>Да и насчет простоты написания объем-то исходников практически одинаков с плюсами


VD>Сравнивать нужно объем игры. Потом объем объему розть. Код шарпа читается намного олее просто и одназначно. А стало быть поддерживать и развать его проще. Ну, это точно так же как с Питоном. К тому же еще ненадо забывать о рефакторинге. Фишки вроде студии 2005 и РеШарпера очень сильно поднимают скорось разработки больших проекто.


Я говорю про объем портированного движка.

VD>>>А вот это уже выдумки.


FR>>Ну загрузи сам и проверь, у меня медленее.


VD>Грузил, проверял. Правда давно было дело. Но тут Re[14]: С++ и .NET
Автор: LSL
Дата: 12.10.04
LSL привел свежую статистику.


FR>> Кроме того шарповые версии постоянно

FR>>подтормаживают и всегда вешаются, но не буду сильно к бете придиратся.

VD>Вот как-то ни разу не видел. Какой из самплов у тебя тормозил?


я про демки из шарповского варианта ogre.

FR>>Насчет того что язык не в чем ни уступает очень спорно

FR>>Питон выше уровнем чем C# и подерживает больше парадигм.

VD>Не думаю, что он сильно выше уровнем. Хотя судить не буду, все же я Питон совсем не знаю. Если ты продемонстриуешь эту высокоуровенвость, то буду очень признателен, а сам постараюсь сделать тоже самое на Шарпе, чтобы можно было сравнить.


ну не знаю, мне проще наоборот, вот из твоей ссылки про калькулятор (http://gzip.rsdn.ru/forum/Message.aspx?mid=630887&only=1
Автор: VladD2
Дата: 07.05.04
)

# -*- coding: cp1251 -*-

import psyco, time

from math import sin
from math import cos

formula =r"-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234\
-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234-(asd-qwe)*3*3*asd/(asd-sin(qwe)+5/asd)-123.234"

ParseCount = 10
CalcCount  = 10000

#компилируем
t1 = time.clock()
for i in xrange(ParseCount):
    f = eval(compile("lambda asd, qwe : " + formula, "<string>", "eval"))
    psyco.bind(f)
t2 = time.clock()
print "Парсинг %d проходов. Выполнено за %f сек." % (ParseCount, t2 - t1)

#используем
def run():
    t1 = time.clock()
    for i in xrange(1, CalcCount + 1):
        f(i, i)
    t2 = time.clock()
    print "Подсчет %d проходов. Выполнено за %f сек."  % (CalcCount, t2 - t1)

psyco.bind(run)

run()
run()


>D:\Python23\pythonw -u "c1.py"
Парсинг 10 проходов. Выполнено за 0.045159 сек.
Подсчет 10000 проходов. Выполнено за 0.137674 сек.
Подсчет 10000 проходов. Выполнено за 0.140011 сек.
>Exit code: 0


При этом ни пришлось писать загрузчик, все и так реализуется.
Кстати у тебя там ошибка цикл начинается с нуля и выражение calc1.Calc(i, i); должно вылетать с исключением деление на ноль,(и скорость вычисления похоже не верна так как вылетало на первой строке но ты не ловил), так что мне пришлось цикл с единицы начать.

FR>>Проблема в другом, вот простой пример, java сейчас на таких тестах практически очень близка к плюсам, но в реальных приложениях почему то тормозит.


VD>Ну, оба утверждения спорны.

VD>1. Ява все же отстает даже на таких тестах.
VD>2. Ява на сегодня действительно подтянулась и на ней уже давно ничего не тормозит так чтобы резко в глаза боросалось. Слух о медленности явы обычно вызван тем, что о скорости явы судят по интерфейсу создаваемому с помощью довольно тормозного Swing-а.

VD>Ява не имеет структул и обладает худшим оптимизатором. Но это не так критично как кажется.


Ладно, но шарп приложения тоже подтормаживают как и ява.

VD>>>Дык именно их минимизация и сделала дотнет таким шустрым. Если в код С++ встроить все те проврки что есть в дотнете, то он проиграет очень серьезно. Там целая куча оптимизаций делается. Те же проверки на выход за пределы массивов выносятся из циклов как инварианты. При таком контроле 10% проигрыша, то не поражение, а победа.


FR>>Продолжаем рекламу


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


FR>>Ты преувеличиваешь сложности. Реально для модов не нужна особо навороченная модульность.


VD>Я этим занимался лет 5 и уверяю тебя знаю о чем говорю.


Писал моды для игр? Для каких?
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.