О рекомендации использовать DasKeyboard, я только что начал использовать тот сегодня! Но знайте, что это делает много шума. Я был умерщвлен, сколько шума это делало в моем супер тихом офисе заполненный другими людьми, которые являются инженерами, но главным образом не разработчиками. Я спросил человека напротив меня, если это было слишком шумным. Она колебалась для части секунды прежде, чем настоять, что было хорошо, и когда я сказал, что уберу его, она едва выступила. Таким образом, я собрал его. Возможно, если бы Вы просто окружаетесь другим devs, он был бы в порядке. Я хотел бы услышать о противоположных событиях. Я стучу далеко от дома прямо сейчас хотя, максимально громкий, и люблю его!
, О, и Вы будете определенно учиться касаться типа! Прямо сейчас у меня есть изображение маркированной клавиатуры как мой рисунок рабочего стола, но отношусь к нему все меньше и меньше.
Mike
Вот контекст цитаты:
Сборщики мусора поколения - это лучший ответ, который у меня есть на это, потому что сокращает паузы и, откровенно говоря, сборщики мусора для всех [новые] динамические языки сегодня дерьмо. Они метки и зачистки, или они подсчитываются по ссылкам.
Судя по цитате, он говорит о довольно примитивных GC, которые не являются поколениями. Генерационные сборщики мусора все еще могут быть помечены и очищены, но большую часть времени у них намного меньше, чем нужно отмечать, что делает их намного быстрее, чем «каждый раз отмечать и очищать мир».
Предполагая, что он имел в виду именно это, я согласен - но он мог бы выразиться более ясно. Имейте в виду, что это была беседа, а не докторская диссертация - придумать наиболее четкий способ выразить себя «на копытах» довольно сложно :)
Вот высокоуровневое сравнение различных методов, упомянутых в указанной цитате (плюс «пометить и сжать» ... что является разновидностью маркировки и развертки. )
Свойства сборки с подсчетом ссылок:
Для классической функции mark-and-sweep:
Классическая метка и очистка иногда модифицируется так, что фаза очистки сжимает свободное пространство за счет «сдвига» не мусорных объектов. Это называется «компактная метка с разверткой». Это довольно сложно, но:
Современные коллекторы (включая типичные коллекторы поколений) основаны на метке и копировании. Идея состоит в том, что коллекционер отслеживает объекты «из космоса», копируя их «в космос». Когда это будет сделано, в конце «to space» будет непрерывный кусок свободного пространства, который можно использовать для размещения новых объектов. Старое «из космоса» откладывается в сторону для следующего запуска сборщика мусора. так что распределение дешево
Сборщик поколений - это тот, в котором есть несколько пространств (поколений ), которые собираются с разной скоростью. Это основано на гипотезе о том, что большинство объектов создаются, а затем становятся недоступными в течение короткого периода времени. Таким образом, собирая мусор в пространстве, содержащем молодые объекты, вы освобождаете относительно большой объем пространства при относительно низких затратах. Вам по-прежнему нужно собирать старшие поколения, но это может происходить реже.
(Сборщик меток и зачисток может быть поколениями, но отдача не так велика, как у копирующего коллектора.)
Коллектор поколений - это коллектор, в котором есть несколько пространств (поколений), которые собираются с разной скоростью. Это основано на гипотезе о том, что большинство объектов создаются, а затем становятся недоступными в течение короткого периода времени. Таким образом, собирая мусор в пространстве, содержащем молодые объекты, вы освобождаете относительно большой объем пространства при относительно низких затратах. Вам по-прежнему нужно собирать старшие поколения, но это может происходить реже.
(Сборщик меток и зачисток может быть поколениями, но отдача не так велика, как у копирующего коллектора.)
Коллектор поколений - это коллектор, в котором есть несколько пространств (поколений), которые собираются с разной скоростью. Это основано на гипотезе о том, что большинство объектов создаются, а затем становятся недоступными в течение короткого периода времени. Таким образом, собирая мусор в пространстве, содержащем молодые объекты, вы освобождаете относительно большой объем пространства при относительно низких затратах. Вам по-прежнему нужно собирать старшие поколения, но это может происходить реже.
(Сборщик меток и зачисток может быть поколениями, но отдача не так велика, как у копирующего коллектора.)
вы освобождаете относительно большой объем пространства по относительно низкой цене. Вам по-прежнему необходимо собирать старшие поколения, но это может происходить реже.(Сборщик меток и зачисток может быть поколением, но отдача не так велика, как у копирующего коллектора.)
вы освобождаете относительно большой объем пространства по относительно низкой цене. Вам по-прежнему необходимо собирать старшие поколения, но это может происходить реже.(Сборщик меток и зачисток может быть поколением, но отдача не так велика, как у копирующего коллектора.)
He ' s в отличие от mark-compact :
Сборщики мусора поколений - лучший ответ, который у меня есть, потому что он сокращает паузы, и, честно говоря, сборщики мусора для всех [новых] динамических языки сегодня - дерьмо. Они используют метку и очистку или подсчитывают ссылки.
Сборщики мусора с простой меткой и очисткой не так хороши, потому что у них есть проблема фрагментации кучи. При высоких уровнях распределения, характерных для языков с поддержкой GC, это обычно становится проблемой быстрее, чем, например, в C ++, где многие объекты просто живут в стеке.
Тем не менее, mark-compact действительно mark & sweep with уплотнение занялось этим, так что терминология могла быть лучше. Неуплотняющиеся коллекторы обычно называют «консервативными», чтобы различить их.
Сборщики мусора поколений - лучший ответ, который у меня есть, потому что они сокращают паузы, и, честно говоря, сборщики мусора для всех [новых] динамических языков сегодня - дерьмо. Они используют метку и очистку или подсчитывают ссылки.
Сборщики мусора с простой меткой и очисткой не так хороши, потому что у них есть проблема фрагментации кучи. При высоких уровнях распределения, характерных для языков с поддержкой GC, это обычно становится проблемой быстрее, чем, например, в C ++, где многие объекты просто живут в стеке.
Тем не менее, mark-compact действительно mark & sweep with уплотнение занялось этим, так что терминология могла быть лучше. Неуплотняющиеся коллекторы обычно называют «консервативными», чтобы различить их.
Сборщики мусора поколений - лучший ответ, который у меня есть, потому что они сокращают паузы, и, честно говоря, сборщики мусора для всех [новых] динамических языков сегодня - дерьмо. Они используют метку и очистку или подсчитывают ссылки.
Сборщики мусора с простой меткой и очисткой не так хороши, потому что у них есть проблема фрагментации кучи. При высоких уровнях распределения, характерных для языков с поддержкой GC, это обычно становится проблемой быстрее, чем, например, в C ++, где многие объекты просто живут в стеке.
Тем не менее, mark-compact действительно mark & sweep with уплотнение занялось этим, поэтому терминология могла быть лучше. Неуплотняющиеся коллекторы обычно называют «консервативными», чтобы различить их.
сборщики мусора для всех [новых] динамических языков сегодня - дерьмо. Они являются метками и очищают, или они подсчитываются по ссылкам.Сборщики мусора с простой меткой и очисткой не так хороши, потому что у них есть проблема фрагментации кучи. С высокими уровнями распределения, обычными для языков с поддержкой GC, это обычно становится проблемой быстрее, чем, например, в C ++, где многие объекты просто живут в стеке.
Тем не менее, mark-compact действительно mark & sweep with уплотнение занялось этим, поэтому терминология могла быть лучше. Неуплотняющиеся коллекторы обычно называют «консервативными», чтобы различить их.
сборщики мусора для всех [новых] динамических языков сегодня - дерьмо. Они являются метками и очищают, или они подсчитываются по ссылкам.Сборщики мусора с простой меткой и очисткой не так хороши, потому что у них есть проблема фрагментации кучи. При высоких уровнях распределения, характерных для языков с поддержкой GC, это обычно становится проблемой быстрее, чем, например, в C ++, где многие объекты просто живут в стеке.
Тем не менее, mark-compact действительно mark & sweep with уплотнение занялось этим, поэтому терминология могла быть лучше. Неуплотняющиеся коллекторы обычно называют «консервативными», чтобы различить их.
С высокими уровнями распределения, обычными для языков с поддержкой GC, это обычно становится проблемой быстрее, чем, например, в C ++, где многие объекты просто живут в стеке.Тем не менее, mark-compact действительно mark & sweep with уплотнение занялось этим, так что терминология могла быть лучше. Неуплотняющиеся коллекторы обычно называют «консервативными», чтобы различить их.
При высоких уровнях распределения, характерных для языков с поддержкой GC, это обычно становится проблемой быстрее, чем, например, в C ++, где многие объекты просто живут в стеке.При этом mark-compact действительно mark & sweep with уплотнение занялось этим, поэтому терминология могла быть лучше. Неуплотняющиеся коллекторы обычно называют «консервативными», чтобы различить их.