Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация)
От: -rsdn- Беларусь http://dsalodki.wix.com/resume
Дата: 11.06.15 12:56
Оценка:
Один – Pin-бит – поднимается у объектов, которые временно нельзя перемещать в другую область памяти.
Re: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация)
От: Danchik Украина  
Дата: 11.06.15 13:01
Оценка:
Здравствуйте, -rsdn-, Вы писали:

R>Один – Pin-бит – поднимается у объектов, которые временно нельзя перемещать в другую область памяти.


Это? http://dotnet.dzone.com/news/net-memory-control-use-gchandl
Re[2]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
От: -rsdn- Беларусь http://dsalodki.wix.com/resume
Дата: 11.06.15 13:16
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Здравствуйте, -rsdn-, Вы писали:


R>>Один – Pin-бит – поднимается у объектов, которые временно нельзя перемещать в другую область памяти.


D>Это? http://dotnet.dzone.com/news/net-memory-control-use-gchandl

похоже что да
Re: Как сделать pin объекту чтобы GC его не перемещал по пам
От: Sinix  
Дата: 11.06.15 13:35
Оценка: +3 -1
Здравствуйте, -rsdn-, Вы писали:

R>Один – Pin-бит – поднимается у объектов, которые временно нельзя перемещать в другую область памяти.


А можете узнать у интервьюера одну вешь?

Он специально все вопросы подбирал так, чтобы короткий ответ на каждый сводился к "просто не надо так делать"?

А длинный — к "если вам понадобился ответ на этот вопрос — вы сто процентов делаете что-то не то".
Все топики:
http://rsdn.ru/forum/dotnet/6074111
Автор: -rsdn-
Дата: 10.06.15

http://rsdn.ru/forum/dotnet/6074369
Автор: -rsdn-
Дата: 10.06.15

http://rsdn.ru/forum/dotnet/6074605
Автор: -rsdn-
Дата: 10.06.15

http://rsdn.ru/forum/dotnet/6075393
Автор: -rsdn-
Дата: 11.06.15

http://rsdn.ru/forum/dotnet/6076124
Автор: -rsdn-
Дата: 12.06.15


как на заказ, из серии "аппендицит, пациента я уже разрезал, нужно ли стерилизовать скальпель?".

Т.е. во-первых, вопросы оччень специфические и понадобиться могут в ещё более специфических сценариях.
Во-вторых, сами вопросы абсолютно не соответствуют уровню сложности этих сценариев, спрашивается самый минимум, который по идее отдельным вопросом обсуждаться не должен.
Не, серьёзно, кто-то хочет возиться с interop-ом или с проблемами с gc, не зная ничего про GcHandle?
Отредактировано 15.06.2015 6:52 Sinix . Предыдущая версия .
Re[2]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.06.15 15:38
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Он специально все вопросы подбирал так, чтобы короткий ответ на каждый сводился к "просто не надо так делать"?

S>А длинный — к "если вам понадобился ответ на этот вопрос — вы сто процентов делаете что-то не то".

Собеседование это не консультация-наоборот. Кроме того, на собеседовании имеет смысл избегать стандартных вопросов или хотя бы стандартных формулировок. Ну и нет полной информации о том, что именно было кроме указаных вопросов и какова была цель представленых вопросов.

>кто-то хочет возиться с interop-ом или с проблемами с gc, не зная ничего про GcHandle


Вопросы на собеседовании проверяют и уровень, и опыт, и кругозор и тд и тд. Далеко не всегда они задаются ровно по той теме, что требуется. Темы то всегда меняются.

Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет. Тоже самое можно проверить самыми разными способами, от решения задач до расскажите-чем-занимались.

У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать.

Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.

P.S. "не те вопросы на собеседовании" — это уже целый жанр на РСДН.
Re[3]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.06.15 23:15
Оценка: +4
Здравствуйте, Ikemefula, Вы писали:

I>Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет.

Не опыта, а знаний. Опыт появляется когда ты решаешь проблему. Хаки с gchandle вряд ли решают те проблемы, с которыми сталкивается топикстартер, интервьюер и все здесь присутствующие.

I>У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать.

Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру.

I>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.

Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.
Re[4]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
От: andy1618 Россия  
Дата: 12.06.15 08:18
Оценка:
Здравствуйте, gandjustas, Вы писали:

I>>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.


G>Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.


Кстати, запуск профайлера отлично укладывается в сюжет да-нетки.
Но тут есть другая проблема — собеседователь должен сам чётко представлять, как
всё устроено, и что будет в разных ситуациях.
Re[4]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.06.15 08:25
Оценка:
Здравствуйте, gandjustas, Вы писали:

I>>Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет.

G>Не опыта, а знаний. Опыт появляется когда ты решаешь проблему. Хаки с gchandle вряд ли решают те проблемы, с которыми сталкивается топикстартер, интервьюер и все здесь присутствующие.

Не бывает такого, что бы опыт был, а знания на нуле слева.

I>>У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать.

G>Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру.

Так себе идея.

I>>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.

G>Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.

Ага, еще и взять на три месяца на испытательный срок, ага. Профайлер всего лишь предоставляет определенную инфу. Её же может предоставить и интервьюер. Принципиально, никакой разницы, где ты узнаешь про состояние хипов и поколейний, у профайлера или у интервьюера.
Re[5]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 12.06.15 10:56
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, gandjustas, Вы писали:


I>>>Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет.

G>>Не опыта, а знаний. Опыт появляется когда ты решаешь проблему. Хаки с gchandle вряд ли решают те проблемы, с которыми сталкивается топикстартер, интервьюер и все здесь присутствующие.

I>Не бывает такого, что бы опыт был, а знания на нуле слева.

Зато бывает обратное. Знания получить легко, берешь от 5 до 10 книг по теме и все внимательно читаешь. И все, знаний хватит пройти любое собеседование.

I>>>У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать.

G>>Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру.
I>Так себе идея.
Других не вижу.

I>>>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.

G>>Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.

I>Ага, еще и взять на три месяца на испытательный срок, ага. Профайлер всего лишь предоставляет определенную инфу. Её же может предоставить и интервьюер. Принципиально, никакой разницы, где ты узнаешь про состояние хипов и поколейний, у профайлера или у интервьюера.

Профайлер показывает не только что плохо, но и где плохо. Без профайлера ты можно только гадать, профайлер четко покажет где создаются объекты. А дальше уже будешь думать уменьшать им срок жизни или не создавать, а переиспользовать.
Re[6]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.06.15 13:02
Оценка:
Здравствуйте, gandjustas, Вы писали:

I>>Не бывает такого, что бы опыт был, а знания на нуле слева.

G>Зато бывает обратное. Знания получить легко, берешь от 5 до 10 книг по теме и все внимательно читаешь. И все, знаний хватит пройти любое собеседование.

Знания без практики ничего не стоят. Сколько ни видел таких начитаных, любой нестандартный вопрос срубает наповал.
Связи между различными понятиями образуются исключительно через практику.

G>>>Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру.

I>>Так себе идея.
G>Других не вижу.

В том то и дело.

I>>Ага, еще и взять на три месяца на испытательный срок, ага. Профайлер всего лишь предоставляет определенную инфу. Её же может предоставить и интервьюер. Принципиально, никакой разницы, где ты узнаешь про состояние хипов и поколейний, у профайлера или у интервьюера.

G>Профайлер показывает не только что плохо, но и где плохо.

Представь себе, что профайлер находится в руках неопытного челоевка навроде operation admin, который тебе по телефону сообщает показания. Твоя задача — по телефону собрать инфу, принять решение и описать подробные инструкции, что где проверить, а что где поправить.

> Без профайлера ты можно только гадать, профайлер четко покажет где создаются объекты. А дальше уже будешь думать уменьшать им срок жизни или не создавать, а переиспользовать.


Вся эта информация есть у интервьюера, приготовлена _заранее_. Очень популярный вопрос у многих заказчиков.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.