Re[14]: Следующий язык программирования
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.09.05 12:19
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Рад видеть тебя и здесь .
Спасибо
PD>А за каким богом мне тогда вопрос о memset задавать было ?
Вот и мне это интересно

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

О! Вот тут-то и кроется проблема. Ты подменяешь задачу ее решением. Это худший способ изучить новую технологию. "Как мне сделать виртуальный конструктор в С++?" кажется нормальным вопросом дельфисту.

PD>А начни я спрашивать про все конструкции — тогда для меня отдельный форум придется создать

Ну, для начала можно освоить поиск. Поверь, ты не первый, кто пересаживается с плюсов на дотнет. И все наступают на те же самые грабли.

PD>Я одно хочу знать — смогу ли я на нем делать с той же эффективностью то, что я умею делать.

Нет. То, что ты умеешь делать на плюсах, в рамках дотнета ты делать не сможешь. Некоторые концепции могут быть переиспользованы, но в целом легче изучать дотнет с нуля. Это примерно то же самое, как если бы ты после 25 лет чистого ассемблера 80с51 пересел на плюсы и задавался вопросом, как тебе применить колоссальные знания по ручному распределению регистров. В общем случае — никак. Можно, конечно, писать километровую ассемблерную вставку в main и плеваться. Но это никак не будет C++ программой.

PD>А тут мне предлагается инструмент, в котором эффективнсть бог знает какая, то ли компилятор, то ли интерпретатор, механизмы для меня непривычные, чему можно верить — не знаю, пробую элементарное (DirectoryInfo) — получаю кошмар. Где еще проблемы ТАКОГО рода скрыты? Не знаю. Подозреваю все. И new для value тоже.

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

PD>Вот это уже лучше. Я и хочу это понять, Я и недоволен тем, что то, что должно быть эффективным (потому что я очень даже хорошо знаю, что здесь делается хоть на уровне kernel32, хоть ntdll.dll, хоть даже ntoskrnl, вдруг 57 Мбайт требует. И что еще меня подобное здесь ждет ?

Тебе решение уже предложили.


PD>Черта с два. Я просто знаю, на что он это компилирует. А если малейшие сомнения появятся, посмотрю дизассембленрный код. Но, конечно, я реально знаю, что и как можно делать.

Прекрасно. Тогда запасись профайлером, ildasm, а также смотри дизассемблированный код в отладчике. Вообще невредно заранее представлять, что фреймворк писали не полные дауны. Поэтому на ровном месте граблей нет. Прикладная библиотека, с другой стороны, написана людьми значительно менее квалифицированными. Поэтому многие вещи там отсутствуют, а те, которые есть, рассчитаны на 90% пользователей (а не на тех, кто складывает 1000000 файлов в один каталог).
PD>Ну это особая тема. Если хочешь, можно подискутировать как-нибудь.
Не, не хочу. Я просто представляю себе ширину сегмента приложений, которым важна пиковая производительность, а также представляю себе стоимость ручной оптимизации кода под таргет процессор. С этой точки зрения, докручивать еще 4% к производительности — выбрасывать деньги на ветер. Если не слишком мешать компилятору, то он производит код близкий к оптимальному. А для управляемой среды можно получать еще большую производительность благодаря хотспоттингу, который в принципе недоступен плюсовому компилятору.
PD>Дело в том, что есть задачи разных классов. И трудно сказать, где и что может всплыть. Я же не спорю, что Java для апплетов хорошо подходит. Но да помилуй бог того, кто вздумает PhotoShop на Java написать.
Ну как тебе сказать. Вот тут недавно выложили векторную рисовалку на дотнете с субпиксельной графикой. Не сказать, чтобы Visio прямо уж так был быстрее.

PD>Был там. Естественно, это хорошо, но проблему не решает. Я там могу Win32 функции вызывать, ну а свои собственные ?

Гм. А чем твои собственные функции хуже стандартных? Пинвоку по барабану, кого вызывать.
PD>К примеру (банальный) решиться мне, скажем, на C# матричные операции производить или же С++ DLL для этого написать, а в Шарпе только вызывать ее.
Ты не пробовал, к примеру, вот здесь
Автор(ы): Владислав Чистяков
читать?
... << RSDN@Home 1.1.4 stable rev. 510>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.