Go 1.4+ Garbage collector program and roadmap

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

Since the go language was announced in November 2009, in just a few years, the language has grown rapidly and performance has been improving, and the improvement of the garbage collector is one of the most important.

In Go 1.1, the go language introduces a parallel garbage collector, which reduces the latency of the program running on multiple CPUs, and the garbage collection is more accurate, in exchange for a significant reduction in heap memory at the expense of less CPU time. In the Go 1.3 released this June, the accuracy was improved and the accuracy of checking the values on the stack was achieved.

What happens to the garbage collector in subsequent releases? Richard L. Hudson recently introduced the plan and roadmap for the Go 1.4+ garbage collector.

It is pointed out that the goal of the GC for Go 1.5, which is scheduled for release in June 2015, is to reduce latency, so that the go language can meet the system with high response time requirements. This version wants to limit the GC delay to 10ms, and every 50ms guarantees that the Go app code has more than 40ms of execution time. The implementation will consider a hybrid stop-the-world (STW)/concurrent garbage collector (CGC). The primary work of CGC is done on one or more dedicated CPUs, while the application code executes on other CPUs.

As for the Go 1.6 version, which will be released in December 2015, the GC will be improved based on the 1.5 version of experience, user feedback, and use cases. Version 1.6 is likely to include pointer collision allocation (bump pointer allocation) and generational replication collection techniques.

To complement the garbage collector's retrofit, the C run-time code that uses the go pointer and a variety of insecure pointer structures incompatible with concurrent or copy collectors is removed in version 1.4, and users need to remove incompatible structures from their code.

You can refer to the Golang-dev mailing list for related discussions. The discussion on the hackernews was also very enthusiastic. Some netizens introduced the actual use experience. Interested readers can refer to.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.