Jump to content

  • Log In with Google      Sign In   
  • Create Account


#Actualakesterson

Posted 14 October 2012 - 07:55 AM

As the other posters have pointed out, the gem refers to having a pool of memory that you allocate up front, as opposed to allocating on demand. This is the way that the Java JVM works; at startup time, it requests (from the operating system) the maximum amount of memory the program is configured to use (per environment flags), and then does its own allocations out of that memory later. This way it doesn't have to wait on the OS scheduler, kernel, whatever, to do the job for it, and it can optimize its memory arrangement however is optimal for that specific program. The previously mentioned boost::pool does the same thing. There are C libraries that do the same, etc, ad infinitum.

See the wikipedia article on Memory Pools for more generalized information: http://en.wikipedia....iki/Memory_pool

#2akesterson

Posted 14 October 2012 - 07:53 AM

As the other posters have pointed out, the gem refers to having a pool of memory that you allocate up front, as opposed to allocating on demand. This is the way that the Java JVM works; at startup time, it requests (from the operating system) the maximum amount of memory the program is configured to use (per environment flags), and then does its own allocations out of that memory later. This way it doesn't have to wait on the OS scheduler, kernel, whatever, to do the job for it. The previously mentioned boost::pool does the same thing. There are C libraries that do the same, etc, ad infinitum.

See the wikipedia article on Memory Pools for more generalized information: http://en.wikipedia....iki/Memory_pool

#1akesterson

Posted 14 October 2012 - 07:52 AM

As the other posters have pointed out, the gem refers to having a pool of memory that you allocate up front, as opposed to allocating on demand. This is the way that the Java JVM works; at startup time, it requests (from the operating system) the maximum amount of memory the program is configured to use (per environment flags), and then does its own allocations out of that memory later. This way it doesn't have to wait on the OS scheduler, kernel, whatever, to do the job for it. The previously mentioned boost::pool does the same thing.

See the wikipedia article on Memory Pools for more generalized information: http://en.wikipedia.org/wiki/Memory_pool

PARTNERS