Автор Тема: Паузы в работе программы вызываемые GC  (Прочитано 32279 раз)

Губанов Сергей Юрьевич

  • Hero Member
  • *****
  • Сообщений: 590
    • Просмотр профиля
    • Домашняя страница
Re: Паузы в работе программы вызываемые GC
« Ответ #60 : Октябрь 18, 2013, 12:39:27 pm »
То есть там по сути получается небезопасное полностью ручное управление памятью в стиле Си?
Не очень понял вопрос. Объекты я кэшировал для повторного использования задолго до того как стал их размещать сначала на массивах структур, а потом и вовсе в неуправляемой памяти. То есть временем жизни объектов я управлял вручную очень давно. И это не имеет отношения к Си. Размещение объектов на массивах структур привело к тому, что GC перестал видеть эти объекты, и перестал делать паузы в работе программы. Размещение объектов в неуправляемой памяти привело к ускорению работы: доступ по указателям всё же быстрее чем по индексам в двумерном массиве (двумерный так как нужна страница+смещение). Но теперь да, конечно, шаг вправо, шаг влево - порча памяти - это как в Си.

А по поводу зарплат, если верить вот этому: http://habrahabr.ru/company/it_dominanta/blog/147866/ то разница средних зарплатах между С++ программером и С# программером в общем то и нет. А вот дисперсия да, у C++ больше
Вот поэтому надо ориентироваться не на среднюю, а на максимальную - каков потолок.

Кстати, в указанной тобой статье неверные данные по потолку зарплаты для С++ по Нижнему Новгороду. Там где я буду работать потолок зарплат выше, такой же высокий как для Java. То есть идти переучиваться в Java программиста только лишь из-за денег для меня смысла нет.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Паузы в работе программы вызываемые GC
« Ответ #61 : Октябрь 18, 2013, 12:43:31 pm »
То есть там по сути получается небезопасное полностью ручное управление памятью в стиле Си?
Не очень понял вопрос. Объекты я кэшировал для повторного использования задолго до того как стал их размещать сначала на массивах структур, а потом и вовсе в неуправляемой памяти. То есть временем жизни объектов я управлял вручную очень давно. И это не имеет отношения к Си. Размещение объектов на массивах структур привело к тому, что GC перестал видеть эти объекты, и перестал делать паузы в работе программы. Размещение объектов в неуправляемой памяти привело к ускорению работы: доступ по указателям всё же быстрее чем по индексам в двумерном массиве (двумерный так как нужна страница+смещение). Но теперь да, конечно, шаг вправо, шаг влево - порча памяти - это как в Си.
Я имел ввиду, что теперь там нет ни сборщика мусора ни умных указателей, ну и защиты памяти нет. Все как в Си на голых "указателях" (или индексах - не важно).

А по поводу зарплат, если верить вот этому: http://habrahabr.ru/company/it_dominanta/blog/147866/ то разница средних зарплатах между С++ программером и С# программером в общем то и нет. А вот дисперсия да, у C++ больше
Вот поэтому надо ориентироваться не на среднюю, а на максимальную - каков потолок.

Кстати, в указанной тобой статье неверные данные по потолку зарплаты для С++ по Нижнему Новгороду. Там где я буду работать потолок зарплат выше, такой же высокий как для Java. То есть идти переучиваться в Java программиста только лишь из-за денег для меня смысла нет.
Дык за полтора то года зарплаты подросли.
Y = λf.(λx.f (x x)) (λx.f (x x))

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Паузы в работе программы вызываемые GC
« Ответ #62 : Октябрь 18, 2013, 03:22:35 pm »
На этом моя борьба со сборщиком мусора закончена. Я меняю место работы. Работу я выполнял фактически сишную, а оплачивалась она по сишарповски. Исправляя этот дисбаланс, с понедельника перехожу на новое место работы, на котором буду программировать на C/C++.

Не забудь написать в тот эпичный тред про синтаксический оверхед на RSDN ;) Чтоб расставить все точки :)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Паузы в работе программы вызываемые GC
« Ответ #63 : Октябрь 18, 2013, 03:32:27 pm »
На этом моя борьба со сборщиком мусора закончена. Я меняю место работы. Работу я выполнял фактически сишную, а оплачивалась она по сишарповски. Исправляя этот дисбаланс, с понедельника перехожу на новое место работы, на котором буду программировать на C/C++.

Не забудь написать в тот эпичный тред про синтаксический оверхед на RSDN ;) Чтоб расставить все точки :)
Можно и на лурк сразу: http://lurkmore.to/Rsdn.ru#mws_5vpY5C4
Кто из нас еще может похвастатья что про него есть на лурке? :-)

На самом деле, профессионал (если он растет конечно) со временем вырастает из одного языка, и краткое "Программист на languageName" его уже не характеризует. Вот и все.
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: Паузы в работе программы вызываемые GC
« Ответ #64 : Октябрь 18, 2013, 03:43:25 pm »

Можно и на лурк сразу: http://lurkmore.to/Rsdn.ru#mws_5vpY5C4
Кто из нас еще может похвастатья что про него есть на лурке? :-)

да Сергей крут...  :) ну положим, я в этом не сомневался уже после поста в блоге Чернова - где он определил его
"Си-шным рептилоидом-технофошистом."

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Паузы в работе программы вызываемые GC
« Ответ #65 : Октябрь 18, 2013, 04:21:43 pm »

Можно и на лурк сразу: http://lurkmore.to/Rsdn.ru#mws_5vpY5C4
Кто из нас еще может похвастатья что про него есть на лурке? :-)

да Сергей крут...  :) ну положим, я в этом не сомневался уже после поста в блоге Чернова - где он определил его
"Си-шным рептилоидом-технофошистом."
Это что-ли вот это: http://avchernov.livejournal.com/312.html?thread=1592#t1592 ?
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: Паузы в работе программы вызываемые GC
« Ответ #66 : Октябрь 18, 2013, 04:38:37 pm »

Можно и на лурк сразу: http://lurkmore.to/Rsdn.ru#mws_5vpY5C4
Кто из нас еще может похвастатья что про него есть на лурке? :-)

да Сергей крут...  :) ну положим, я в этом не сомневался уже после поста в блоге Чернова - где он определил его
"Си-шным рептилоидом-технофошистом."
Это что-ли вот это: http://avchernov.livejournal.com/312.html?thread=1592#t1592 ?
ага

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Паузы в работе программы вызываемые GC
« Ответ #67 : Октябрь 18, 2013, 04:43:04 pm »
Вообще, можно длинными осенними вечерами сидеть и перечитывать что мы писали в 2006 году скажем. Например на делфикиндом - бывает ОЧЕНЬ смешно :-)
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: Паузы в работе программы вызываемые GC
« Ответ #68 : Октябрь 18, 2013, 04:52:31 pm »
Вообще, можно длинными осенними вечерами сидеть и перечитывать что мы писали в 2006 году скажем. Например на делфикиндом - бывает ОЧЕНЬ смешно :-)
а я так и делаю (иногда)  :D