Re[18]: Qt vs .NET - как считаете?
От: Cyberax Марс  
Дата: 11.05.06 08:00
Оценка:
WolfHound wrote:
> C>Одно приложение для обработки и представления данных в двух версиях —
> на C# и С++.
> Информации 0.
> Кстати а свободной памяти на машине сколько было?
> Просто если памяти было много то ГЦ ее всю и утилизировал чтобы лишний
> раз мусор не собирать.
Проблема в том, что сначала версию написали на C# — при больших объемах
данных памяти не хватало. Потом версию на C# пооптимизировали
слегка (воткнув val-типы), но памяти все равно постоянно не хватало.

В итоге написали в доке, что версия на C# должна использоваться на WinXP64.

В версии на С++, которая делала то же самое (с точностью до
пунктов меню) памяти требовалось примерно в три раза меньше.

Работали обе версии, кстати, с примерно одинаковой скоростью. C# в паре
тестов вырывался вперед, в целом C++ обычно был процентов на 10-20% быстрее.

> C>Ну так проценты имеют свойство накапливаться.

> Куда накапливатся?
В расходуемую память

> C>В С++ от 0 до 4.

> Для value типов тоже 0.
Перечислите ограничения для неbox-нутых val-типов.

> Короче кудабы они не бежали в разы всеравно не получается. За

> исключением того случая когда на машине много свободной памяти...
"Свободной памяти" не существует — существует место для кэша диска.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[15]: Qt vs .NET - как считаете?
От: Вертер  
Дата: 11.05.06 08:46
Оценка: -1
Здравствуйте, Lloyd, Вы писали:

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


В>>так кто бы спорил, просто утверждается, что на дотНЕТ так всё просто, что ни о чём и думать то не надо — только полёт свободной мысли

В>>Как пример:
В>>
В>>string strResult = "Никаких " + "проблем " + "в " + "такой " + "строке " + "нет!";
В>>


L>Найдешь проблему — поставлю 3 балла.


совсем не селён в IL асме, а тем более в дотНЕТе.

L>
L>.locals init (
L>      [0] string text1)
L>L_0000: ldstr "\u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0435\u0442!"
L>L_0005: stloc.0 
L>


Пришлось покапаться.

Варианты такие:
1. может быть дырка между адресами L_0000 и L_0005 так как команда ldstr не занимает 5 байт
2. может быть вместо stloc.0 должно быть stloc.1

немножко о другом, но вот тут читал: http://fairlyrealistic.com/archives/2006/01/high_performance_string_concat.php
Re[14]: Qt vs .NET - как считаете?
От: Cyberax Марс  
Дата: 11.05.06 09:18
Оценка: +1
WolfHound wrote:
> C>Да, причем очень просто. Просто достаточно не делать циклические ссылки
> Иногда для этого приходится думать очень очень много и городить такие
> огороды что уж лучше был бы ГЦ. Уж точно проще и надежней и наверняка
> оверхед меньше.
Я тоже так думал несколько лет назад Даже в ФИДО спорил по этому поводу.

Теперь я написал пару программ с нетривиальным сроком жизни объектов.
Время, потраченое на продумывание системы владения объектами,
многократно окупилось из-за улучшений архитекутуры, которые получились
из-за продумывания системы владения.

Программы, где без GC не обойтись, все же есть, но их не так уж и много.
Это разные компиляторы (где политики владения выделить сложно),
серверные системы (где надежнее использовать GC и плевать на несколько
процентов производительности).
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[16]: Qt vs .NET - как считаете?
От: WolfHound  
Дата: 11.05.06 10:17
Оценка:
Здравствуйте, Sheridan, Вы писали:

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

А кто плавит программистам?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: Qt vs .NET - как считаете?
От: WolfHound  
Дата: 11.05.06 10:17
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Угу, там четь, тут четь, здесь четь...

Фотошоп стартует раз в 10 медленней... выводы?

S>Это одно единственное преимущество дотнета. Но огромное!

Рад что ты это понимаешь. Теперь осталось понять что недостатки далеко не такие большие как ты их патаешься раздуть.

S>Вот именно что могут быть. Зависит от специфики задачи.

Вот только что-то очень часто мне такие задачи попадаются...

WH>>Руки...

S>...ноги, голова, но только не дотнет...
Если написано на нете да еще и падает... то точно руки.

S>Странно, обычно дотнетчики обижаются. Респект за понимание.

А кто сказал что я дотнетчик?
Я в отличии от некоторых владею многими технологиями.

S>Проект стартовал и неспеша крутится.

Удачи.

WH>>Ну так на нем пишут в основном корпаративный софт и серверы.

S>Бедные компании... Наверно с каждым релизом дотнета парк серверов обновляют...
Если так то очень глупые компании ибо каждый следующий релиз дотнета работает быстрее.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: Qt vs .NET - как считаете?
От: WolfHound  
Дата: 11.05.06 10:17
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Проблема в том, что сначала версию написали на C# — при больших объемах

C>данных памяти не хватало. Потом версию на C# пооптимизировали
C>слегка (воткнув val-типы), но памяти все равно постоянно не хватало.
А что за задача?

C>В итоге написали в доке, что версия на C# должна использоваться на WinXP64.


C>В версии на С++, которая делала то же самое (с точностью до

C>пунктов меню) памяти требовалось примерно в три раза меньше.
Иначе чем алгоритмическими оптимизациями объяснить не могу. Или может у вас были миллиона мелких объектов и ручной менеджер памяти для С++?

C>Перечислите ограничения для неbox-нутых val-типов.

А какие именно тебе мешают?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: Qt vs .NET - как считаете?
От: Sheridan Россия  
Дата: 11.05.06 10:41
Оценка: :)
Здравствуйте, WolfHound, Вы писали:

S>>Угу, там четь, тут четь, здесь четь...

WH>Фотошоп стартует раз в 10 медленней... выводы?
Написать фотошоп на дотнете и затестить?

S>>Это одно единственное преимущество дотнета. Но огромное!

WH>Рад что ты это понимаешь. Теперь осталось понять что недостатки далеко не такие большие как ты их патаешься раздуть.
Увы... Преимущество дотнета есть и остается в удобстве программирования. Даже поддержка уже прихрамывает... Тут fm1.1, там нужен 2.0...

S>>Вот именно что могут быть. Зависит от специфики задачи.

WH>Вот только что-то очень часто мне такие задачи попадаются...
все может быть. Даже то что я неправ.

WH>>>Руки...

S>>...ноги, голова, но только не дотнет...
WH>Если написано на нете да еще и падает... то точно руки.
если падает то да, а если тормозит?

S>>Странно, обычно дотнетчики обижаются. Респект за понимание.

WH>А кто сказал что я дотнетчик?
WH>Я в отличии от некоторых владею многими технологиями.
Это радует.

S>>Проект стартовал и неспеша крутится.

WH>Удачи.
Спасибо...

WH>>>Ну так на нем пишут в основном корпаративный софт и серверы.

S>>Бедные компании... Наверно с каждым релизом дотнета парк серверов обновляют...
WH>Если так то очень глупые компании ибо каждый следующий релиз дотнета работает быстрее.
Ясное дело быстрее, железо то новое

[RSDN@Home][1.2.0][alpha][648]
[Hе всякому человеку даже гусарский мундир к лицу. [К. Прутков]]
Matrix has you...
Re[17]: Qt vs .NET - как считаете?
От: ironwit Украина  
Дата: 11.05.06 10:45
Оценка:
Здравствуйте, Сергей, Вы писали:

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


>>[...]


С>Вас послушать — так там совсем всё хорошо. Программировать под .net мне пока не доводилось, так что могу судить об этом только из разного рода литературы, мнений на форумах и опыта работы с такими приложениями.

Кстати задумался. Влад, какие ты мог бы предложить приложения на .Net для end-userа?
... << RSDN@Home 1.2.0 alpha rev. 648>>
Я не умею быть злым, и не хочу быть добрым.
Re[20]: Qt vs .NET - как считаете?
От: Cyberax Марс  
Дата: 11.05.06 10:48
Оценка:
WolfHound wrote:
> C>Проблема в том, что сначала версию написали на C# — при больших объемах
> C>данных памяти *не хватало*. Потом версию на C# пооптимизировали
> C>слегка (воткнув val-типы), но памяти все равно постоянно не хватало.
> А что за задача?
Обработка данных профиля поверхности. Там сэмплы в 10000х10000 точек —
вполне нормальное явление.

> C>В версии на С++, которая делала *то же самое* (с точностью до

> C>пунктов меню) памяти требовалось примерно в три раза меньше.
> Иначе чем алгоритмическими оптимизациями объяснить не могу.
Оптимизаций там практически не было — я их код перелопачивал лично.

> Или может у вас были миллиона мелких объектов и ручной менеджер

> памяти для С++?
Нет, были миллионы стековых объектов. Специальные менеджеры
использовались, но только для работы с несколькими большими (сотни
мегабайт) массивами.

> C>Перечислите ограничения для неbox-нутых val-типов.

> А какие именно тебе мешают?
Нет эффективного способа передачи value-типов по ссылке. Ну и по мелочам
напрягала невозможность наследования и реализации интерфейсов (на
незабоксированых типах) — приходилось писать один и тот же код несколько
раз для разных типов.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[17]: Qt vs .NET - как считаете?
От: Sheridan Россия  
Дата: 11.05.06 10:51
Оценка: -1 :)
Здравствуйте, WolfHound, Вы писали:

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

WH>А кто плавит программистам?
Директор и бухгалтерия .
На самом деле конечно все зависит от конторы.
Есть 4 типа контор...
1 — все шустренько ставится, работает, бесплатно но поддержки нет
2 — все ставится, работает, настраивается но поддержка слабая — софт в районе 0-100$
3 — с трудом ставится, настраивается припомощи техподдержки после 2х литров пива, потом работает — софт в районе 1000-5000$
4 — и софт с 7-8 тыщ нифига не ставится, не работает но за такие бабки техподдержка приедет, поставит, подключит и все будет работать.

Так вот, дотнет имхо это часто 3,4

[RSDN@Home][1.2.0][alpha][648]
[Быть добрым совсем нетрудно: трудно быть справедливым. [В. Гюго]]
Matrix has you...
Re[21]: Qt vs .NET - как считаете?
От: WolfHound  
Дата: 11.05.06 11:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Обработка данных профиля поверхности. Там сэмплы в 10000х10000 точек — вполне нормальное явление.

А что мешало сделать это массивом value типов?

C>Нет эффективного способа передачи value-типов по ссылке.

void Foo(ref SomeValueType vt)
{
}

Ы?
C>Ну и по мелочам напрягала невозможность наследования и реализации интерфейсов (на незабоксированых типах) — приходилось писать один и тот же код несколько раз для разных типов.
void Foo<T>(ref T vt)
    where T : ISomeInterface
{
}

Ы?
Или был первый фреймворк?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: Qt vs .NET - как считаете?
От: WolfHound  
Дата: 11.05.06 11:07
Оценка: -3 :)
Здравствуйте, Sheridan, Вы писали:

WH>>Если так то очень глупые компании ибо каждый следующий релиз дотнета работает быстрее.

S>Ясное дело быстрее, железо то новое
Все ясно. Я с тролями не разговариваю.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Qt vs .NET - как считаете?
От: Cyberax Марс  
Дата: 11.05.06 11:19
Оценка: -1
WolfHound wrote:
> C>Обработка данных профиля поверхности. Там сэмплы в 10000х10000 точек —
> вполне нормальное явление.
> А что мешало сделать это массивом value типов?
С этим проблем нет (оно так и сделано было, собственно). Эти сэмплы же
еще и обрабатывать надо.

> C>Нет эффективного способа передачи value-типов по ссылке.

> void Foo(ref SomeValueType vt)
> {
> }
См. выделенное.

> Ы?

Происходит боксирование типа -> аллокация на куче (нет, JIT его не
оптимизирует).

> C>Ну и по мелочам напрягала невозможность наследования и реализации

> интерфейсов (на незабоксированых типах) — приходилось писать один и тот
> же код несколько раз для разных типов.
> void Foo<T>(ref T vt)
> where T : ISomeInterface
> {
> }
> Ы?
См. выделенное.

> Или был первый фреймворк?

Первый, потом стал второй. Разницы особой нет.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[22]: Qt vs .NET - как считаете?
От: Sheridan Россия  
Дата: 11.05.06 11:27
Оценка: +1 :))
Здравствуйте, WolfHound, Вы писали:

WH>>>Если так то очень глупые компании ибо каждый следующий релиз дотнета работает быстрее.

S>>Ясное дело быстрее, железо то новое
WH>Все ясно. Я с тролями не разговариваю.
Да, qt мне довольно нравится.

[RSDN@Home][1.2.0][alpha][648]
[Кто в верности не клялся никогда, тот никогда ее и не нарушит. [А. Платен]]
Matrix has you...
Re[23]: Qt vs .NET - как считаете?
От: WolfHound  
Дата: 11.05.06 17:53
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>Происходит боксирование типа -> аллокация на куче (нет, JIT его не оптимизирует).

Чего простите?
Такой код
private static void Main(string[] args)
{
    int num1 = 0;
    Program.Test(ref num1);
}

компилируется в такой
.method private hidebysig static void Main(string[] args) cil managed
{
    .entrypoint
    .maxstack 1
    .locals init (
        [0] int32 num1)
    L_0000: nop 
    L_0001: ldc.i4.0 
    L_0002: stloc.0 
    L_0003: ldloca.s num1
    L_0005: call void ConsoleApplication2.Program::Test(int32&)
    L_000a: nop 
    L_000b: ret 
}

Где здесь боксинг?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: Qt vs .NET - как считаете?
От: __MasteR__ Россия  
Дата: 11.05.06 19:59
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

WH>Информации 0.

WH>Кстати а свободной памяти на машине сколько было?
WH>Просто если памяти было много то ГЦ ее всю и утилизировал чтобы лишний раз мусор не собирать.

Немного не в тему, но что мне оперативку некуда девать? Вот под линуксом вся свободная оперативка на кешь дисковых операций идет. На медленных носителях эффект поразительный (у меня ее 1 Гб, на кэш ок. 700 Мб идет). Так если каждое приложение начнет расти и себе ее хватать, то для других целей ее не останется. Плохо.
Re[18]: Qt vs .NET - как считаете?
От: Sheridan Россия  
Дата: 11.05.06 20:53
Оценка: :)
Здравствуйте, Sheridan, Вы писали:

S>Так вот, дотнет имхо это часто 3,4


ironwit глядя на твой минус я понимаю что был всетаки прав и дотнет тянет только на 1,2 но никак на 3,4
Спасибо.
Matrix has you...
Re[19]: Qt vs .NET - как считаете?
От: ironwit Украина  
Дата: 12.05.06 05:26
Оценка:
Здравствуйте, Sheridan, Вы писали:

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


S>>Так вот, дотнет имхо это часто 3,4


S>ironwit глядя на твой минус я понимаю что был всетаки прав и дотнет тянет только на 1,2 но никак на 3,4

не очень понял такую хитро закрученную фразу.. Я больше логичные строю, на паскале
S>Спасибо.
та не за что За тобой очень увлекательно наблюдать
... << RSDN@Home 1.2.0 alpha rev. 648>>
Я не умею быть злым, и не хочу быть добрым.
Re[20]: Qt vs .NET - как считаете?
От: Sheridan Россия  
Дата: 12.05.06 05:42
Оценка:
Здравствуйте, ironwit, Вы писали:

S>>>Так вот, дотнет имхо это часто 3,4


S>>ironwit глядя на твой минус я понимаю что был всетаки прав и дотнет тянет только на 1,2 но никак на 3,4

I>не очень понял такую хитро закрученную фразу.. Я больше логичные строю, на паскале
Ну первоначально я оценил дотнет как инструмент для крупных проектов. Ты со мной не согласился...

S>>Спасибо.

I>та не за что За тобой очень увлекательно наблюдать
Надеюсь не для того чтобы повеселиться...

[RSDN@Home][1.2.0][alpha][648]
[Hастоящее горе стыдливо. [Ф. Геббель]]
Matrix has you...
Re[21]: Qt vs .NET - как считаете?
От: ironwit Украина  
Дата: 12.05.06 05:50
Оценка:
Здравствуйте, Sheridan, Вы писали:

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


I>>та не за что За тобой очень увлекательно наблюдать

S>Надеюсь не для того чтобы повеселиться...
ну что ты, как можно
Я все еще жду кроссплатформенный янус в котором будет фич побольше чем в текущем и вносится они будут побыстрее
... << RSDN@Home 1.2.0 alpha rev. 648>>
Я не умею быть злым, и не хочу быть добрым.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.