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 about diffrent process state, Q. Explain about diffrent Process Sta...

Q. Explain about diffrent Process State? Process State When process executes, it changes its state. Process state is defined as the current activity of the process. Fi

How can the deadlock be prevented-bankers algorithm, How can the deadlock b...

How can the deadlock be prevented Bankers algorithm : The Resource allocation graph algorithm isn't applicable to a resource allocation system with multiple instances of every

Virtual addresses, Virtual addresses are made up of two parts: the ?rst par...

Virtual addresses are made up of two parts: the ?rst part is the page number, and the second part is an offset inside that page. Suppose our pages are 4kb (4096 = 212 bytes) long,

Explain the alphabet and string, Explain the Alphabet and String A fini...

Explain the Alphabet and String A finite set of symbols is known as alphabet. An alphabet is frequently denoted by sigma, yet can be given any name. B = {0, 1} says B is an

What is the use of the command interpreter, Q. What is the use of the comma...

Q. What is the use of the command interpreter? Why is it generally separate from the kernel? Answer: It reads commands from the user or else from a file of commands and execu

Caching name translations for computers, Q. Discuss the advantages as well ...

Q. Discuss the advantages as well as disadvantages of caching name translations for computers located in remote domains. Answer: There is a performance benefit to caching nam

Write note on process, Write note on process, process state? A process ...

Write note on process, process state? A process is in excess of the program code which is sometimes known as text section. It as well includes the current activity as represent

Why is it complicated to protect a system, Q. Why is it complicated to prot...

Q. Why is it complicated to protect a system in which users are allowed to do their own I/O? Answer: In earlier chapters we identified a distinction among kernel and user mod

Define the term system software, Question: (a) Define the term system ...

Question: (a) Define the term system software and application software, giving an example for each. (b) Draw a diagram to represent the abstract view of a computer system i

Unix and linux commands, To explore the UNIX file system, use basic UNIX co...

To explore the UNIX file system, use basic UNIX commands and use a text editor. Task:   1.      Logon to Linux. 2.      Create a directory "Unix" under your home d

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