История изменений
Исправление Midael, (текущая версия) :
So in summary, the ballast increases the base size of the heap so that our GC triggers are delayed and the number of GC cycles over time is reduced.
Я считаю, что понял правильно
То есть, чтобы программа работала на 10 гигайтах, ей нужно еще дополнительно сожрать 10 гигабайт просто впрок?
Автор статьи утверждает, что нет, хотя на этот счет есть сомнения (см. коммент выше от fsb4000)
Now onto 2. Won’t this use up 10Gib of my precious RAM? I’ll put your mind at ease. The answer is: no it won’t, unless you intentionally make it. Memory in ‘nix (and even Windows) systems is virtually addressed and mapped through page tables by the OS. When the above code runs, the array the ballast slice points to will be allocated in the program’s virtual address space. Only if we attempt to read or write to the slice, will the page fault occur that causes the physical RAM backing the virtual addresses to be allocated.
Не смешно самому?
Это не у меня надо спрашивать, а у человека из твича, который это придумал.
Исправление Midael, :
То есть, чтобы программа работала на 10 гигайтах, ей нужно еще дополнительно сожрать 10 гигабайт просто впрок?
Автор статьи утверждает, что нет, хотя на этот счет есть сомнения (см. коммент выше от fsb4000)
Now onto 2. Won’t this use up 10Gib of my precious RAM? I’ll put your mind at ease. The answer is: no it won’t, unless you intentionally make it. Memory in ‘nix (and even Windows) systems is virtually addressed and mapped through page tables by the OS. When the above code runs, the array the ballast slice points to will be allocated in the program’s virtual address space. Only if we attempt to read or write to the slice, will the page fault occur that causes the physical RAM backing the virtual addresses to be allocated.
Не смешно самому?
Это не у меня надо спрашивать, а у человека из твича, который это придумал.
Исправление Midael, :
То есть, чтобы программа работала на 10 гигайтах, ей нужно еще дополнительно сожрать 10 гигабайт просто впрок?
Автор статьи утверждает, что нет, хотя на этот счет есть сомнения (см. коммент выше от fsb4000)
Now onto 2. Won’t this use up 10Gib of my precious RAM? I’ll put your mind at ease. The answer is: no it won’t, unless you intentionally make it. Memory in ‘nix (and even Windows) systems is virtually addressed and mapped through page tables by the OS. When the above code runs, the array the ballast slice points to will be allocated in the program’s virtual address space. Only if we attempt to read or write to the slice, will the page fault occur that causes the physical RAM backing the virtual addresses to be allocated.
Не смешно самому?
Это не у меня надо спрашивать, а у человека из твича, который это придумал.
PS. Что за отношение? Не можешь сейчас прочитать, прочитай потом, никто ж не заставляет.
Исходная версия Midael, :
То есть, чтобы программа работала на 10 гигайтах, ей нужно еще дополнительно сожрать 10 гигабайт просто впрок?
Автор статьи утверждает, что нет, хотя на этот счет есть сомнения (см. коммент выше от fsb4000)
Now onto 2. Won’t this use up 10Gib of my precious RAM? I’ll put your mind at ease. The answer is: no it won’t, unless you intentionally make it. Memory in ‘nix (and even Windows) systems is virtually addressed and mapped through page tables by the OS. When the above code runs, the array the ballast slice points to will be allocated in the program’s virtual address space. Only if we attempt to read or write to the slice, will the page fault occur that causes the physical RAM backing the virtual addresses to be allocated.
Не смешно самому?
Это не у меня надо спрашивать, а у человека из твича, который это придумал.