TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Understanding go compiler tools (2)

36 pointsby freedrullover 14 years ago

3 comments

barrkelover 14 years ago
Letting the OS free memory at process exit is a very viable approach for single-purpose tools that don't run a reasonable risk of running out of memory. (Structs over unions are also more debuggable and less prone to bugs.)<p>On the other hand, if you ever want to turn what you wrote into a library instead of a standalone process, not having taken more care over memory management will hurt.<p>For compilers, there's often a happy medium available: pool / arena-based allocation, with one pool per translation unit.
chcover 14 years ago
For anyone who isn't familiar: Yugui is part of the Ruby Core team, so she knows a bit about language implementation.
pbiggarover 14 years ago
I read an estimate that about 40% of programmer time spent writing a C or C++ program goes into memory management. Compilers often don't really need sophisticated memory management techniques, as they don't run for very long. Go in particular seems designed to never compile really large compilation units (like you might in C++).<p>tl;dr if I was writing a Go compiler, I wouldn't worry about memory management either.
评论 #2241721 未加载