Здравствуйте, hattab, Вы писали:
H>Здравствуйте, criosray, Вы писали:
H>>> New(Arr); H>>> Dispose(Arr);
H>>>Pentium M 1.7GHz. Память PC2700. Время: 67ms.
C>>Если компилятор не дурак, то он вообще не станет выделять память по пусту, раз Вы ее не используете и пустой цикл тоже не станет крутить по чем зря.
C>>Впрочем, это ж Делфи.
H>Вай-вай, говнодельфи укопал мегашарпа... Смотри не лопни, от злости
Кстати, как на делфи с задачкой про все строки файла...
Здравствуйте, gandjustas, Вы писали:
G>Кроме того я в тесте кроме выделения памяти померил еще и время двух миллионов проверок на попадание в границы массива и присваивания.
А оно для константных индексов разве будет проверять если размер массива тоже константа, известная еще на этапе компиляции? А как же умный JIT?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, criosray, Вы писали:
H>>Base64 -- единственный способ передать бинарные данные в XML-RPC.
C>Так Вы сами себе злобные буратины, раз выбрали такой стандарт. Что мешает бинарные передавать обычным http stream`ом?
Почитай, что я Синклеру написал по этому поводу.
C>>>Java-like нотация записи методов (getScreenshot64) — моветон.
H>>Это негласный стандарт в XML-RPC.
C>Ой да ну? А можно ссылку на этот "негласный стандарт". Очень хочу посмотреть.
Иди на http://www.xmlrpc.com/ и смотри примеры.
C>>>В С# нет оператора :=
H>>Писал по памяти. Pascal мой основной язык.
C>Ну мы уже поняли, что с дотнет Вы знакомы весьма поверхностно. Лишь хаете его так, будто бы программируете на нем с релиза.
Я лишь факты констатирую. Просто у пропогандистов реальность из страны ОЗ
C>>>Неиспользование using для MemoryStream — утечка ресурсов.
H>>Чего-то я не понял, а каким ресурсом, кроме собственно памяти, владеет MemoryStream? C>1) для любого класса, реализующего IDisposable следует вызывать Close/Dispose C>2) любой Stream по окончании работы с ним следует закрывать (помечая его тем самым closed)
Так камим все таки ресурсом, а? using он для освобождения т.н. неуправляемых ресурсов предназначен же.
C>>>Читабельность Picture.Bitmap.LoadFromStream(TXmlRpcBase64(XmlRpcServerProxy('http://127.0.0.1/').keyhole.getScreenshot64(320, 200)).AsStream); -- отвратительная.
H>>Еще раз: это тестовый пример. C>Что-то мне подсказывает, что Ваш код выглядит не лучше этих "тестовых примеров".
Попытка перейти на личности приравнивается к сливу. Желаю удачи.
Здравствуйте, gandjustas, Вы писали:
C>>Вообще все эти сравнения и пиписькомеренья весьма забавно выглядят. В управляемом коде в целях безопасности, афаик, при выделении памяти производится так же ее очистка (обнуление), а это по два такта процессора на каждый байт. G>Кроме того я в тесте кроме выделения памяти померил еще и время двух миллионов проверок на попадание в границы массива и присваивания. G>примерно 5% времени занимает.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, gandjustas, Вы писали:
G>>Кроме того я в тесте кроме выделения памяти померил еще и время двух миллионов проверок на попадание в границы массива и присваивания. CC>А оно для константных индексов разве будет проверять если размер массива тоже константа, известная еще на этапе компиляции? А как же умный JIT?
Может он так и делает. Тогда просто время миллиона присваиваний.
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, Хвост, Вы писали:
Х>>ну как же, C++ == запредельный перфоманс + надёжный и красивый код G>И то и другое неправда.
правда, вот я прямо сейчас смотрю в реализацию гугловского V8, и вижу как ни странно запредельный перфоманс + надёжный и красивый код, а может тебе указать на библиотечку Blitz++ которая уделала фортран на вычислительных задачах (да, фортран, да, на вычислительных задачах) что не удавалось твоему перфоманс-фавориту Си? другое дело что мало кто так писать умеет, большинству проще на шарпах Linq'ом побаловаться или в WPF'е поформошлёпить )
Х>>надеюсь ты понимаешь разницу между структурой и классом в дотнете, повторяюсь — инстанцировать классы G>Я то как раз отлично понимаю, а вы — видимо нет.
можно прямо сказать, дотнет етого не позволяет, я ето знаю, ты ето знаешь, зачем юлить?
Х>>и на посошок, или я проглядел, или ты не ответил на вопрос — сколько у тебя установлено приложений уровня "десктоп", писаных на дотнете? G>Сколько установлено — не считал, пользуюсь двумя — paint.NET и Windows Live Writer. Это треть софта, который я ставил и пользуюсь им.
у тебя ~6 десктопных программ? клёво
музыку ты наверное не слушаешь, видео не смотришь, документы/таблицы не набираеш, программы не пишешь, гуглы ёрс не смотришь, интернеты не браузишь, скайпы не говоришь, игры не играешь, ну итд по списку 99% софта. ты просто возьми на минутку и задумайся, почему оно так в мире, не правит дотнет.
Здравствуйте, gandjustas, Вы писали:
G>Кстати, как на делфи с задачкой про все строки файла...
Если вдруг ты сможешь понятно описать чего тебе надобно, старче, то она очевидно решается на ЛЮБОМ АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ, даже на FORTRAN И basic!
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Хвост, Вы писали:
Х>Здравствуйте, gandjustas, Вы писали:
Х>>>надеюсь ты понимаешь разницу между структурой и классом в дотнете, повторяюсь — инстанцировать классы G>>Я то как раз отлично понимаю, а вы — видимо нет. Х>можно прямо сказать, дотнет етого не позволяет, я ето знаю, ты ето знаешь, зачем юлить?
Ну если вы так думаете тогда объясните принципиальную разницу между классом на стеке и структурой на стеке.
Х>>>и на посошок, или я проглядел, или ты не ответил на вопрос — сколько у тебя установлено приложений уровня "десктоп", писаных на дотнете? G>>Сколько установлено — не считал, пользуюсь двумя — paint.NET и Windows Live Writer. Это треть софта, который я ставил и пользуюсь им. Х>у тебя ~6 десктопных программ? клёво Х>музыку ты наверное не слушаешь, видео не смотришь, документы/таблицы не набираеш, программы не пишешь, гуглы ёрс не смотришь, интернеты не браузишь, скайпы не говоришь, игры не играешь, ну итд по списку 99% софта. ты просто возьми на минутку и задумайся, почему оно так в мире, не правит дотнет.
Дейсвительно, не 6, а 7 десктопных программ которыми я пользуюсь: браузер, почтовик, paint.net, live writer, qip, skype, vs2008.
Media Player был в комплекте, офис тоже.
Остальное запускаю редко.
В игры не играю, карты смотрю в браузере.
Кстати, сколько сайтов, по которым ты ходишь написаны на asp.net?
Здравствуйте, gandjustas, Вы писали:
G>Зачем? Для запредельного перфоманса есть С, для надежного и красивого кода есть C#, F#. G>А С++ в этом уравнении места нет.
Нет, ну если ты настаиваешь, что быстрый код ОБЯЗАН БЫТЬ ненадёжным и некрасивым, то да, нет...
А если вдруг тебе охота чтобы и быстрый код был и надёжным и красивым и поддерживаемым, то места мало остаётся как раз для С -- только платформы, где есть дот нет, но нет хороших С++ компиляторов...
Кстати, что это за платформы?
Кстати, если так взглянуть на это дело, то окажется, что и для С# место сожмётся, так как если в твоей проге самая нагруженная часть на С++, то не ясно, зачем оболочку-то на ХиндиС делать? У ХиндиС есть неомненный плюс -- дешёвая и быстрая разработка бригадой гастарбайтеров, в смысле индусов. Если в твоём проекте есть такие компоненты, то супер, С# твой выбор...
Да, то, что между черт -- это стёб... Но в каждой шутке есть таки доля шутки...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, gandjustas, Вы писали:
G>>Кстати, как на делфи с задачкой про все строки файла... E>Если вдруг ты сможешь понятно описать чего тебе надобно, старче, то она очевидно решается на ЛЮБОМ АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ, даже на FORTRAN И basic!
Никто не говорил что она не решается.
Выразительность языка заключается не в возможности решить задачу, в читаемости, поддерживаемости и расширяемости этого решения. (это упрощенно)
Здравствуйте, criosray, Вы писали:
C>Неиспользование using для MemoryStream — утечка ресурсов.
А как же GC?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, gandjustas, Вы писали:
G>>Зачем? Для запредельного перфоманса есть С, для надежного и красивого кода есть C#, F#. G>>А С++ в этом уравнении места нет.
E>Нет, ну если ты настаиваешь, что быстрый код ОБЯЗАН БЫТЬ ненадёжным и некрасивым, то да, нет...
Если вы изначально занимаетесь быстротой кода, то вряд ли он будет нажедным и красивым. Наоборот — вполне.
E>А если вдруг тебе охота чтобы и быстрый код был и надёжным и красивым и поддерживаемым, то места мало остаётся как раз для С -- только платформы, где есть дот нет, но нет хороших С++ компиляторов...
Я не предлагал C использовать для красивого кода.
E>Кстати, если так взглянуть на это дело, то окажется, что и для С# место сожмётся, так как если в твоей проге самая нагруженная часть на С++, то не ясно, зачем оболочку-то на ХиндиС делать? У ХиндиС есть неомненный плюс -- дешёвая и быстрая разработка бригадой гастарбайтеров, в смысле индусов. Если в твоём проекте есть такие компоненты, то супер, С# твой выбор...
Ты как-то очеь интересно говоришь о том что C# позоляет писать хороший код с малыми затратами.
E>Да, то, что между черт -- это стёб... Но в каждой шутке есть таки доля шутки...
Все что ты написал в предыдущем абзаце — правда.
Когда вместо индусов пишут нормальные программисты код у них получается гораздо лучше и быстрее, чем на С++.
И только там где не хватает производительности может быть использован C.
Здравствуйте, gandjustas, Вы писали: G>Ну если вы так думаете тогда объясните принципиальную разницу между классом на стеке и структурой на стеке.
объясняю, struct в сишарпе ето семантически то что называется POD в С++, т.е. плоская структура данных, ни конструкторов, ни методов, ничего. Так вот, в С++ в стек можно положить как объект-инстанс класса, так и объект-инстанс POD-структуры, в сишарпе же только второе.
G>Кстати, сколько сайтов, по которым ты ходишь написаны на asp.net?
честно говоря не знаю, может пять, может десять, на вскидку только три вспомнил, включая рсдн. По ощущениям зарубежные сайты где-то 50/50 asp.net/jsp, наши ~80 — php
Кстати вот ниша веба имхо вполне подходит для .NET (и название платформы удачно подходит ), но мне кажется с развитием песочниц VPS/VDS в веб в лоу-енд сектор может пролезть и C++ (ага, да, именно ето я и сказал, C++ в вебе, какой-нибудь CMS++ ), т.к. VPS/VDS площадки дают довольно ограниченные ресурсы, и хороший производительный веб-фреймворк на С++ очень имел бы право жить.
Здравствуйте, Sinclair, Вы писали:
S>Совершенно верно. И это — единственный способ писать хорошие программы.
Это тебе Бог сообщил, или сам БГ?
S>Известно. Он бы бездарно потратил больше времени на разработку программы.
Чего? Ты думаешь допереть, что для словаря надо использовать структуру, которая ищет эффективно ему понадобилось бы очень много времени?
Не, я конечно понимаю, что это ХиндиС, но не Папус-Новая-Нвинея-С, всё-таки
E>>Мне так кажется, что 2 секунды для этой программки -- ЭТО ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ ДОЛГО. S>Напомню, что цели должны быть ориентированы на потребителя, а не высосаны из пальца. Сколько, по-твоему, должна работать эта программа? Почему?
Если бы оно ориентировалось на меня как на потребителя, то 0,01 — 0,03 секунды.
Я хотел бы менять ситуацию и сразу видеть варианты в GUI интерфейсе, например...
E>>А вот, если в дело вмешиваются клиенты и конкуренты, ситуация несколько меняется... S>Читать последнюю строчку в его статье.
Это которая "But I'm not"? Ну да, он действительно не может, потому что действует в рамках индусской парадигмы...
А теперь иди читать моё замечание про то, что если сам себе орбитр, то выиггрывать легко.
И, кстати, тема связи этой "оптимизации" со случаем, когда мы упираемся в "особенности GC" как-то всё-равно не раскрыта... Это если конечно "But I'm not", не учитывать
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Sinclair, Вы писали:
S>А он неявно сортирует??? Офигеть. Я как отвык от того, что для множества нужно задавать отношение частичного порядка. S>Я надеюсь, уточнение сортировки в Case-insensitive/accent-sensitive для турецкой локали не усложнит эту безусловно прекрасную программу?
Может уважаемый MVP снизойдёт к нам, сирым и убогим и вспомнит таки азы, а уже потом будет позориться?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Хвост, Вы писали:
G>>Ну если вы так думаете тогда объясните принципиальную разницу между классом на стеке и структурой на стеке. Х>объясняю, struct в сишарпе ето семантически то что называется POD в С++, т.е. плоская структура данных, ни конструкторов, ни методов, ничего. Так вот, в С++ в стек можно положить как объект-инстанс класса, так и объект-инстанс POD-структуры, в сишарпе же только второе.
Pavel Dvorkin, а вот Вам подтверждение моих слов: человек явно не знает, но хаит.
"A struct is a simple user-defined type, a lightweight alternative to a class. They support access modifiers, constructors, indexers, methods, fields, nested types, operators, and properties."
Здравствуйте, Хвост, Вы писали:
Х>Здравствуйте, gandjustas, Вы писали: G>>Ну если вы так думаете тогда объясните принципиальную разницу между классом на стеке и структурой на стеке. Х>объясняю, struct в сишарпе ето семантически то что называется POD в С++, т.е. плоская структура данных, ни конструкторов, ни методов, ничего.
В структуре нет методов? Это точно на C#?
Х>Так вот, в С++ в стек можно положить как объект-инстанс класса, так и объект-инстанс POD-структуры, в сишарпе же только второе.
В C++ клас и структура — одно и тоже. В C# — разные вещи.
Вопрос возник видимо из-за непонимания этого факта.
Здравствуйте, gandjustas, Вы писали:
Х>>Так вот, в С++ в стек можно положить как объект-инстанс класса, так и объект-инстанс POD-структуры, в сишарпе же только второе. G>В C++ клас и структура — одно и тоже. В C# — разные вещи.
G>Вопрос возник видимо из-за непонимания этого факта.
Здравствуйте, gandjustas, Вы писали:
G>В структуре нет методов? Это точно на C#?
ммм...статические есть, но ето немного не то, правда?
G>Вопрос возник видимо из-за непонимания этого факта.
у меня отличное понимание факта.
Здравствуйте, Хвост, Вы писали:
Х>Здравствуйте, gandjustas, Вы писали:
G>>В структуре нет методов? Это точно на C#? Х>ммм...статические есть, но ето немного не то, правда? http://msdn.microsoft.com/en-us/library/ah19swz4.aspx
G>>Вопрос возник видимо из-за непонимания этого факта. Х>у меня отличное понимание факта.
Вы показываете обратное.
ЗЫ. Вообзе говоря не верится что вы писали enterprise систему на C# и ни разу не пользовались структурой DateTime.