|
|
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Dima T, спасибо за полезное исследование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 09:05 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Dima TВсе тоже самое касается фрэймворка .Net/Java: если он уже в памяти, то расходы на его подсовывание в конкретный процесс незначительны. В нативном коде при вызове WinAPI происходит тоже самое. Это я все к тому что показатель "Ошибок страниц" ничего полезного не показывает. Есть такой параметр как "Ошибок страниц/сек", т.е. сколько было за последнюю секунду. Вот он более реально показывает насколько интенсивно используется подкачка с диска в конкретный момент. "Ошибок страниц/сек" это именно "Ошибок страниц" деленное в секунду. Показывает тоже самое. Можешь запустить параллельное чтение двух, трех разных файлов - создашь конкуренцию за кэш. С программным кодом не совсем так - -во-первых там много несвязанных маленьких страничек -во-вторых есть сегменты данных, которые при записи в них создают копию в памяти для каждого процесса -в третьих, должны быть как минимум таблицы виртуализации для изменяемого кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 10:02 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Зимаргл"Ошибок страниц/сек" это именно "Ошибок страниц" деленное в секунду. Показывает тоже самое. Напутал немного, нет такого параметра вовсе, в 7-ке это "Дельта ошибок страниц", в хэлпе так написано "Изменение количества ошибок страницы со времени последнего обновления." ЗимарглМожешь запустить параллельное чтение двух, трех разных файлов - создашь конкуренцию за кэш. Могу, только речь о конкретной задаче, фрэймворк это одни теже файлы в разные процессы. ЗимарглС программным кодом не совсем так - -во-первых там много несвязанных маленьких страничек ИМХУ не принципиально. Подкачка из одного файла или из сотни. Зимаргл-во-вторых есть сегменты данных, которые при записи в них создают копию в памяти для каждого процесса -в третьих, должны быть как минимум таблицы виртуализации для изменяемого кода В нативном коде рантайм С/С++ тоже все это создает. WinAPI создает. Прочие либы (если используются) создают. Вопрос сколько это занимает в байтах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2015, 10:40 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Сводная табличка по использованию памяти разными фреймворками на примере мелких программ ProcessLanguageframeworksMem (Working Set)Mem (WS Private) KbMem (Virtual Size)Page FaultsxmlreaderC#.NET900817841248882440wpfapplicationC#.Net28400910023560010300snippet165.classJavaJDK7+SWT4.427484133684951568230snippet165.dDDMD2+SWT3.496441980914162486CardRaytracerDDMD21038427361118683757CardRaytracer (optimized)DGDC39921656678481016CardRaytracerC++gcc17087247212424CardRaytracerPascalFPC33080110454608785 Working set - реально используемая память WS private - память, используемая для каждого процесса из множества копий индивидуально Virtual Size - учитывает отмаппленную память всеми известными dll процесса (фреймворком) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 02:13 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Зимаргл, ммм... даже не знаю какие выводы из этой таблички можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 16:44 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonЗимаргл, ммм... даже не знаю какие выводы из этой таблички можно сделать.Какие бы не сделал - все бессмысленны. Можно сколько угодно утверждать что один язык лучше другого, но у того другого все равно будут приверженцы, просто потому что им нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 16:57 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Зяма провёл офигенскую работу по анализу мемори. Учёл даже промахи страниц. Да только я не могу придумать как теперь это ранжировать. И почему разные приложения? Как их сопоставить? Как сравнить грузовик с легковушкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 17:57 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
mayton, Для начала - это не тест, это только разметка заготовки теста. Выводы рановато делать. Программы 2-4 и 5-8 имеют одинаковую или близкую функциональность. Пока намечаются следующие пути и вопросы: 1. засечь время загрузки и характеристики по памяти для каждого фреймворка, подгрузив определенный набор классов, например: окошко с элементами + коллекции + xml? + еще что? - обсуждается 1.1 что считать стандартным фреймворком? D = SWT + Phobos С# = .net core + WPF C++ = std:: + MFC? + boost? Java = Java SE + Swing || JavaFX ? 2. проверить путем создания и манипулирования сотнями объектов из п.1, влияет ли это на скорость и на своппинг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 20:00 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Зимаргл1. засечь время загрузки и характеристики по памяти для каждого фреймворка, подгрузив определенный набор классов, например: окошко с элементами + коллекции + xml? + еще что? - обсуждается 1.1 что считать стандартным фреймворком? D = SWT + Phobos С# = .net core + WPF C++ = std:: + MFC? + boost? Java = Java SE + Swing || JavaFX ? Объясни зачем мерять память клиентского приложения с гуем? Перфекционизм какой-то Могу еще понять борьбу за память на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 20:11 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Java в моём способе зарабатывания нефте-долларов - это 80% server-side. В некоторых случаях есть кросс-компилляторы типа GWT/GWTP которые стоят одной ногой в браузере у пользователя а другой опираются на некоторый стаб на серверной стороне. Но как таких мерять? Мемори футпринт в пользовательском браузере? Нонсенс! Его уже 10 лет никто не считает. Более того. Срут в него безбожно. И не будь в JScript искусственных ограничителей типа 2-4 сокетов на JS или лимита на циклы - то браузер бы умирал через 5 минут после начала серфинга. Поэтому здесь авторJava = Java SE + Swing || JavaFX ? я не понимаю что считать и как сравнивать. Написать 2 формочки тут и там - это профанация. Не будет теста. А если два крупных приложения - то никто не будет портировать в Свинг и ФХ. Ибо лень и нет мотива. Одно дело мы как фан-сектор сели и раскурили рисование блестящих шаров. А другое дело окна. Скушно... Мдя. Свинг останется как легаси которое выкинуть невозможно. Заменить нечем. JavaFX болеет тем же чем и апплеты. А именно отсутствием предназначения. Неясно для чего оно ПРЕДНАЗНАЧЕНО. Мультимедя явно уходит в HTML5. Там и специалистов больше. А ФХ - какой-то сыряк. Хотелось бы увидеть полноценное приложение на ФХ где есть гриды к оторых я стону и плачу в каждой ветке. Если кто покажет - буду рад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 20:22 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ЗимарглC++ = std:: + MFC? + boost? Qt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 20:43 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
mayton, Для засечки времени подгрузки фреймворка достаточно и одного типа окошка. Можно конечно, оставить только невизуальные (серверные) классы, но я скорее думаю, что проблемы Явы шерифа не волнуют. maytonМемори футпринт в пользовательском браузере? Нонсенс! Его уже 10 лет никто не считает. А вот за это "пейсателей" надо на дыбу, т.к. каждое окошко хромиума это овер 100 Мб! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 20:43 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ЗимарглДля засечки времени подгрузки фреймворка достаточно и одного типа окошка. Чево? И что нам даст это время? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 20:46 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ЗимарглА вот за это "пейсателей" надо на дыбу, т.к. каждое окошко хромиума это овер 100 Мб! Зачем? Есть FireFox. Гугл хром просто супер обнаглел в пожирании памяти, потому я отказался от хрома года 2-3 назад. Пишут что недавно они осознали и решают проблему прожорливости, пусть решают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 20:50 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ИМХУ x64 это больше маркетинг. Попытка второй раз продать уже проданный софт, а потом еще и впарить более мощное железо, т.к. старое не тянет. Это чудесно, выгодно, но не тема для данного форума. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 21:03 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Dima TИМХУ x64 это больше маркетинг. фотошоп,СУБД легко утилизируют 2Gb+ памяти про регистры - отписал в соседем топике что касается применимости языков - у некоторых спецификаций и реализаций - серьёзные проблемы с массивами длиннее 2^31 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 22:16 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
ИзопропилDima TИМХУ x64 это больше маркетинг. фотошоп,СУБД легко утилизируют 2Gb+ памяти про регистры - отписал в соседем топике что касается применимости языков - у некоторых спецификаций и реализаций - серьёзные проблемы с массивами длиннее 2^31 Мы в 2004 юзали Oracle 9i на Xeon-ах с 8 Гб оперативы. При этом ОС и Оракл были 32х битные. Но buffer-pool юзал порядка 5Гб. OMG! Каг! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 22:47 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
mayton, ты ещё вспомни досовский EMM драйвер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2015, 22:53 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
maytonМы в 2004 юзали Oracle 9i на Xeon-ах с 8 Гб оперативы. При этом ОС и Оракл были 32х битные. Но buffer-pool юзал порядка 5Гб. OMG! Каг! AWE, что гемор. Второй вариант - не помню. 64-разрядный указатель позволяет окучивать большие объемы памяти простым и неизвращённым способом. P.S. У AS/400 указатель был 128 бит "от рождения". Никто не умирал. Но, правда, там другая схема отображения виртуальных адресов на физическую память. P.P.S. Нет, аппаратная разрядность AS/400 - те же 52 бита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2015, 17:30 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
Изопропилmayton, ты ещё вспомни досовский EMM драйвер Уже вспомнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2015, 17:37 |
|
||
|
О применимость языков
|
|||
|---|---|---|---|
|
#18+
В общем я дописал тестик. Mem (Working set). KB Mem (WS private). KB Page faults Creation time. ms Delete time. msJava1.7 54500 37200 37600 13850 800DMD2 32072 23300 8070 8450 660 Одна и та же программка. Просто создает 500 окон. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. Вывод - чем меньше тасуем памяти (с помощью фреймворка), тем быстрее работаем. Это еще у меня своппинг быстрый - SSD. P.S.Кому не лень - пробуйте переписать на .net. Думаю результат будет сравним с Явой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 20:39 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39043119&tid=1340912]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 304ms |

| 0 / 0 |
