Comparing gc to malloc, Operating System

Assignment Help:

Garbage collectors trade space for time. If we collect all the time (which requires a lot of processing time), the GC allocator will use the least memory possible. On the other hand, if we have a lot of space to use, we can collect very infrequently and thus be very fast. In general, with enough extra memory, GC can take almost no extra time extra, when compared to explicit memory management. For example, if we are willing to spend 4x more space than usual, garbage collection can run as fast as explicit memory management; if, on the other hand, we don't give it too much space, it will have to run very frequently and thus will demand much more processing time than
explicit memory management.

Faced with this tradeoff, when should we use a garbage collector instead of manual memory management? Generally, use a garbage collector 1) if you have lots of memory; and 2) if we really want to avoid bugs or extra programming effort related to memory management. If, however, hardware resources are the limiting factor and programmer resources are less of a limiting factor, then manual memory management is probably a better idea.


Related Discussions:- Comparing gc to malloc

Explain file, What is a file? A named collection of related data explai...

What is a file? A named collection of related data explained by the creator, recorded on secondary storage.

Define a program that is in execution is known as, Define a program in exec...

Define a program in execution is known as A program in execution is known as a process

Linux kernel components, Example 1.  The diagram illustrating the data stru...

Example 1.  The diagram illustrating the data structures of in-memory VFS objects and on-disk objects and their relationships on slide 24 of the lecture notes OSD.4. This diagram i

Explain how indefinite blocking or starvation occur, explain how indefinit...

explain how indefinite blocking or starvation occurs..

Explain concept of synchronization, Synchronization In communication am...

Synchronization In communication among processes messages passed may be blocking or nonblocking - also called as synchronous and asynchronous. Blocking send : The sending pr

What is preallocation, What is preallocation? Why do it? Allocating spa...

What is preallocation? Why do it? Allocating space for a file before making the file to allow for expansion. This reserves space for a certain file so that other files can't gr

#title:cs604, Consider a scenario of post mailbox, there are two processes ...

Consider a scenario of post mailbox, there are two processes named sender S and receiver R. Both processes can communicate with each other by name along with message. You need to I

What are the allocation methods of a disk space, What are the allocation me...

What are the allocation methods of a disk space? Methods of allocating disk space which are widely in use are a. Contiguous allocation b. Linked allocation c. Indexed

Bankers algorithm, p0A B C D A B C D A B C D 2 0 12 2012 1000 1354 0632 ...

p0A B C D A B C D A B C D 2 0 12 2012 1000 1354 0632 0014

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd