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

Ваш аккаунт

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

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

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

Нафига козе боян?

20K
27 июля 2010 года
InoY
75 / / 24.02.2008
Вот многие говорят .NET да .NET!!! А в чём его смысл? Для каких целей мне стоит, использовать этот ваш .NET? Что мне это даст?
Я не прошу в ответах кидать сюда ссылки на другие сайты где можно почитать длинные, пространные и замудрёные статьи о точканете. Я хочу услышать ПРОСТОЙ и по-возможности КОРОТКИЙ ответ на вопрос озвученный выше. Заранее благодарю.:)
Страницы:
6
02 августа 2010 года
George
4.1K / / 05.01.2007
Опять немножко заоффтоплю. Тема, должен ли программист заниматься разработкой на маломощном либо на нормальном железе, интересна. Хотя, че уж там - разрабатывать надо, думаю, на хорошем железе ради повышения скорости разработки (не дело это, что пока я компилирую небольшую программку, можно пойти и чая налить), а тестировать на маломощных специально выделенных машинках, благо у нас таких в офисе валом. Другое дело, что тестировать зачастую легче там, где разрабатываешь.
5
02 августа 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Kogrom

И да, ты уже потестил, рвёт Java-версия всех остальных? Удивляет, что на сайте я таких тестов не нашёл. Казалось бы, они непременно должны были бы быть, если бы рвала.


Тестить они предлагают сами. Это не сложно.

Клиентская java:

Код:
C:\Documents and Settings\smatveev>java -jar "C:\Documents and Settings\smatveev\Desktop\LZMA-Bench\SevenZip\dist\SevenZ
ip.jar" b

LZMA (Java) 4.61  2008-11-23


       Compressing                Decompressing

  1191 KB/s    1402 MIPS      13791 KB/s    1355 MIPS
  1180 KB/s    1389 MIPS      13837 KB/s    1359 MIPS
  1191 KB/s    1402 MIPS      13791 KB/s    1355 MIPS
  1213 KB/s    1428 MIPS      13086 KB/s    1285 MIPS
  1190 KB/s    1402 MIPS      13086 KB/s    1285 MIPS
  1202 KB/s    1416 MIPS      13791 KB/s    1355 MIPS
  1202 KB/s    1416 MIPS      13791 KB/s    1355 MIPS
  1202 KB/s    1416 MIPS      13791 KB/s    1355 MIPS
  1202 KB/s    1416 MIPS      13791 KB/s    1355 MIPS
  1202 KB/s    1416 MIPS      13791 KB/s    1355 MIPS
---------------------------------------------------
  1197 KB/s    1410 MIPS      13648 KB/s    1341 MIPS    Average


Серверная не запустилась:
 
Код:
C:\Documents and Settings\smatveev>java -server -jar "C:\Documents and Settings\smatveev\Desktop\LZMA-Bench\SevenZip\dis
t\SevenZip.jar" b
Error: no `server' JVM at `c:\Program Files\Java\jre6\bin\server\jvm.dll'.


C# в релизе:
Код:
C:\Documents and Settings\smatveev>"C:\Documents and Settings\smatveev\Desktop\LZMA-Bench\CSharp\SevenZip\Compress\LzmaA
lone\bin\Release\Lzma#.exe" b

LZMA# 4.61  2008-11-23


       Compressing                Decompressing

  1010 KB/s    1190 MIPS      14978 KB/s    1509 MIPS
  1010 KB/s    1190 MIPS      14978 KB/s    1509 MIPS
  1008 KB/s    1187 MIPS      14978 KB/s    1509 MIPS
  1013 KB/s    1193 MIPS      14978 KB/s    1509 MIPS
  1013 KB/s    1193 MIPS      14978 KB/s    1509 MIPS
  1015 KB/s    1196 MIPS      14978 KB/s    1509 MIPS
  1005 KB/s    1184 MIPS      14978 KB/s    1509 MIPS
  1013 KB/s    1193 MIPS      14978 KB/s    1509 MIPS
  1015 KB/s    1196 MIPS      14978 KB/s    1509 MIPS
  1015 KB/s    1196 MIPS      14978 KB/s    1509 MIPS
---------------------------------------------------
  1012 KB/s    1192 MIPS      14978 KB/s    1509 MIPS    Average


C++ было влом компилировать (там dsw файлы для дремучего VisualC++ 6.0), хватило возни с NetBeans (кстати до проклятий дошло), но и так ясно что он тут всех порвет. :))
262
02 августа 2010 года
Iktomy
1.2K / / 11.10.2004
Когром, ну ты дайош, браза.
Прикол Джавы не в том, что бы писать архиваторы, графические редакторы (про браузеры - ну хз, если честно).
Ладно, черт с ними, с ахиваторами. Но работа с графикой подразумевает использование возможностей железа. SIMD те же, различные встроенные в GPU технологии. Написать можно и на JAVA, нивопрос, вот только смысла в этом?
87
02 августа 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: hardcase
Тестить они предлагают сами. Это не сложно.



Спасибо. Что-то уж больно подозрительно близкие результаты вышли. Чудеса. Ну и рвучесть Java на этом тесте не доказана, если я правильно понял (сжали чуть быстрее, разжали чуть медленнее).

Цитата: Iktomy
Когром, ну ты дайош, браза.
Прикол Джавы не в том, что бы писать архиваторы, графические редакторы (про браузеры - ну хз, если честно).
Ладно, черт с ними, с ахиваторами. Но работа с графикой подразумевает использование возможностей железа. SIMD те же, различные встроенные в GPU технологии. Написать можно и на JAVA, нивопрос, вот только смысла в этом?


Сказали, что рвёт, пусть рвёт :) Сказали, что самооптимизируется под железо, так что не должно беспокоить, какие там тонкости :)

Не, если серьёзно, то подойдёт любой пример, где ПО на Java по скорости производительнее аналога на C. Сами же не приводят, вот и пытаюсь помочь. Просто, раньше я видел достоинства Java в другом, потому мне стало интересно.

262
02 августа 2010 года
Iktomy
1.2K / / 11.10.2004
УК, скорее всего это сказки тамплиеров и прочих фанатичных иезуитов. Вы совершенно точно подметили, что у JAVA своя ниша, а попытки доказать... Ну ладно, поржом хоть.

З.Ы. Последним предложением я провоцирую!:)
5
02 августа 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Kogrom
если серьёзно, то подойдёт любой пример, где ПО на Java по скорости производительнее аналога на C

Любое сложное ПО где приходится постоянно создавать и разрушать объекты. (создание объекта в .NET/Java фактически бесплатно, ибо память выделяется последовательно). Архиватор - конечно же не тот случай, но ты просил архиватор на Java/C# - я тебе его показал. А вот любое мало-мальски сложное веб-приложение будет рвать C. Хотя бы потому, что на C написать его крайне сложно.

262
02 августа 2010 года
Iktomy
1.2K / / 11.10.2004
Цитата: hardcase
А вот любое мало-мальски сложное веб-приложение будет рвать C. Хотя бы потому, что на C написать его крайне сложно.



перефразирую.

Цитата:
А вот любая глина, в деле лепки статуй, будет рвать акварель. Т.к. с помощью акварели статую лепить крайне сложно



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

87
02 августа 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: hardcase
Любое сложное ПО где приходится постоянно создавать и разрушать объекты. (создание объекта в .NET/Java фактически бесплатно, ибо память выделяется последовательно). Архиватор - конечно же не тот случай


Почему не тот случай? Ну ладно, пусть. А браузер - тот случай? Какой конкретный вид настольных программ - тот случай?

Цитата: hardcase
А вот любое мало-мальски сложное веб-приложение будет рвать C. Хотя бы потому, что на C написать его крайне сложно.



Речь о серверных приложениях? Ну так я давно допустил такую возможность (с той самой хитрой оптимизацией при запуске). Зачем тут приплетать человеческий фактор? С ним и так всё ясно.

63
02 августа 2010 года
Zorkus
2.6K / / 04.11.2006
Что значит -- серверная не запустилась? давай посмотрим и попробуем запустить, как раз на такое задаче интересно посмотреть разницу между оптимизациями в этих версиях.
63
02 августа 2010 года
Zorkus
2.6K / / 04.11.2006
Код:
D:\lzma912.tar\Java>"c:\views\third-party\jdk\jdk1.6.0_17\bin\java.exe" -client -jar SevenZip.jar b

LZMA (Java) 4.61  2008-11-23


       Compressing                Decompressing

  1213 KB/s    1429 MIPS      14576 KB/s    1432 MIPS
  1213 KB/s    1428 MIPS      14576 KB/s    1432 MIPS
  1213 KB/s    1429 MIPS      14524 KB/s    1427 MIPS
  1202 KB/s    1416 MIPS      14524 KB/s    1427 MIPS
  1202 KB/s    1416 MIPS      14576 KB/s    1432 MIPS
  1202 KB/s    1416 MIPS      14524 KB/s    1427 MIPS
  1202 KB/s    1416 MIPS      14524 KB/s    1427 MIPS
  1202 KB/s    1416 MIPS      14576 KB/s    1432 MIPS
  1202 KB/s    1416 MIPS      14576 KB/s    1432 MIPS
  1202 KB/s    1416 MIPS      14576 KB/s    1432 MIPS
---------------------------------------------------
  1205 KB/s    1420 MIPS      14555 KB/s    1430 MIPS    Average

D:\lzma912.tar\Java>"c:\views\third-party\jdk\jdk1.6.0_17\bin\java.exe" -server -jar SevenZip.jar b

LZMA (Java) 4.61  2008-11-23


       Compressing                Decompressing

  1149 KB/s    1354 MIPS      17504 KB/s    1719 MIPS
  1149 KB/s    1354 MIPS      17504 KB/s    1719 MIPS
  1149 KB/s    1354 MIPS      17429 KB/s    1712 MIPS
  1149 KB/s    1354 MIPS      18703 KB/s    1837 MIPS
  1129 KB/s    1330 MIPS      17429 KB/s    1712 MIPS
  1139 KB/s    1342 MIPS      17429 KB/s    1712 MIPS
  1139 KB/s    1342 MIPS      18703 KB/s    1837 MIPS
  1149 KB/s    1353 MIPS      17504 KB/s    1719 MIPS
  1149 KB/s    1354 MIPS      17504 KB/s    1719 MIPS
  1149 KB/s    1354 MIPS      17504 KB/s    1719 MIPS
---------------------------------------------------
  1145 KB/s    1349 MIPS      17708 KB/s    1739 MIPS    Average

D:\lzma912.tar\Java>
63
02 августа 2010 года
Zorkus
2.6K / / 04.11.2006
Вообще, надо сказать, авторы могли бы сделать build.xml для Java.
63
02 августа 2010 года
Zorkus
2.6K / / 04.11.2006
Завтра попробую подкрутить параметры JIT-компилятора чтобы компрессия для серверной версии шла пошустрей.
297
03 августа 2010 года
koodeer
1.2K / / 02.05.2009
Цитата: hardcase
Любое сложное ПО где приходится постоянно создавать и разрушать объекты. (создание объекта в .NET/Java фактически бесплатно, ибо память выделяется последовательно). Архиватор - конечно же не тот случай, но ты просил архиватор на Java/C# - я тебе его показал. А вот любое мало-мальски сложное веб-приложение будет рвать C. Хотя бы потому, что на C написать его крайне сложно.



Хм, согласен, что выделение памяти под объект в дотнете очень быстрое (про устройство JVM знаю очень мало). Насколько мне известно, в .NET сборщик мусора перемещающий, поэтому выделяется память под объекты очень быстро. Но тогда при сборке мусора времени уйдёт много. Не сведёт ли это на нет выгоду от быстрого выделения? И в среднем выйдет как и в С. Не?

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

5
03 августа 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: koodeer
Хм, согласен, что выделение памяти под объект в дотнете очень быстрое (про устройство JVM знаю очень мало). Насколько мне известно, в .NET сборщик мусора перемещающий, поэтому выделяется память под объекты очень быстро. Но тогда при сборке мусора времени уйдёт много. Не сведёт ли это на нет выгоду от быстрого выделения? И в среднем выйдет как и в С. Не?

Объекты, которые созданы и стали ненужными ("умерли") между запусками GC считаются неродившимися вовсе. Потому далеко не всегда объекты будут хотябы раз перемещены в памяти, а объекты из кучи крупных объектов вообще не перемещаются в памяти.

Цитата: koodeer
И ещё у меня вопрос: если в управляемом коде будет использоваться неуправляемый - его сборщик мусора трогать не будет, даже перемещающий. И вот если таких кусков неуправляемого кода будет несколько в разных местах памяти - не может ли это привести к ухудшению скорости выделения памяти?

В .NET есть управляемые кучи - вотчины GC - и неуправляемые, в них, например, выделяется память под скомпилированный код и COM-объекты.


PS. Советую изучить статью GC в .NET.

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