Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rsc
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
52 ms
·
241.
▲
by
rsc
12y ago
[I work on Go.] As you say, the pacing strategy is about delivering good performance, not about pause times. Pause times are a separable concern. The current (in development) GC is not pauseless. It stops the world to finish each collection
242.
▲
by
rsc
12y ago
SP, FP, and PC are all still there. What we did was make the conventions more uniform across all architectures. The rules for certain corner cases for when SP and PC were references to the virtual register and when they were references to t
243.
▲
by
rsc
12y ago
I'd certainly be happy if someone wants to do that. I'm not planning to. For this kind of thing my instinct is that the delta from "useful tool that gets you 90-99% of the way there" to "general tool that just works
244.
▲
by
rsc
12y ago
That's exactly why it makes no sense to review Ken's code. Review his binaries, maybe.
245.
▲
by
rsc
12y ago
No no no no no no no no no. THIS IS NOT TRUE. See the discussion with binarycrusader on this very page.
246.
▲
by
rsc
12y ago
I don't see much point to doing two ports (of very different versions of the code base) when you can do one port (of the current version, via cross-compilation) and then copy the result over to your target system and use that as the bo
247.
▲
by
rsc
12y ago
> But Go only cross-compiles well for platforms and architectures it currently supports ;-) This is an odd thing to say. Go cross-compiles exactly as well as it compiles. If you write a go_YOUROS_YOURARCH_exec script that copies the bina
248.
▲
by
rsc
12y ago
Also, there is no dependency on 1.4 being "long-term supported". I think you have the dependency requirement backward. For the foreseeable future, it must be possible to build the compiler with Go 1.4. That means the compiler must
249.
▲
by
rsc
12y ago
What new ports are you working on? (I'm just curious.) Go is already very good at cross-compiling. That can be used to do a new port (as a trivial example, the fact that the compiler doesn't run on NaCl didn't hurt the NaCl p
250.
▲
by
rsc
12y ago
Yes, that is a real risk. I have written about this before. It's much more of a risk at the start, when there are no other sizable programs. Now there are plenty of sizable Go programs, so I am not worried about overfitting to compiler
251.
▲
by
rsc
12y ago
At this point, I suppose I am as responsible for the code and decisions the author is complaining about as anyone. Different people come from different backgrounds and, based on that, find different tools useful. Ultimately you need to use
252.
▲
by
rsc
12y ago
A single CALL instruction on the x86 does a very limited amount: it pushes the address of the next instruction onto the stack, and then it sets the instruction pointer to the thing that was called. What happens next is up to the function an
253.
▲
by
rsc
12y ago
It is true that when cgo and therefore pthreads is not involved, Go allocates all the stacks. But then the question of where 'system code' runs is not terribly relevant: it doesn't.
254.
▲
by
rsc
12y ago
Title seems like a blatant rip-off of the classic article.
255.
▲
by
rsc
12y ago
Not true. System stacks are system allocated. See my reply above.
256.
▲
by
rsc
12y ago
Go does not choose the thread stack when using pthreads. Pthreads does.
257.
▲
by
rsc
12y ago
The same way the old runtime did: call out on the pthread-provided stack.
258.
▲
by
rsc
12y ago
There is (was) a pool. It's not the alloc/free that is the problem. It's all the bookkeeping that is pure overhead compared to a simple CALL or RET instruction.
259.
▲
by
rsc
12y ago
The main Go distribution will always have assembly source files: there are always going to be special instructions or routines, such as low-level startup, that must be written at that level. The same is not true of (non-gcc) C source files.
260.
▲
by
rsc
12y ago
I used MetaPost for a few years. It's a very quirky program and a very quirky language, like TeX itself. You can do very nice things with it but the learning curve is steep.
261.
▲
by
rsc
12y ago
He uses MetaPost. See http://www-cs-faculty.stanford.edu/~uno/preprints.html for examples.
262.
▲
by
rsc
12y ago
The original is in Plan 9 and Plan 9 from User Space. http://swtch.com/usr/local/plan9/src/cmd/grap/
263.
▲
by
rsc
12y ago
That code is not valid according to the C standard, so there is no guarantee it will work anywhere. In particular, many modern compilers have optimizations that would break that code. I would be a little surprised if modern web2c still uses
264.
▲
by
rsc
12y ago
Yes, always. And if you don't believe me, it's not my trick. I learned it from Dennis Ritchie (he was thinking about a C to Limbo converter).
265.
▲
by
rsc
13y ago
I discovered Arq a couple years ago and have been using it ever since. I highly recommend it. The thing that sold me was that the file format is documented and I was able to write code to read the backups directly. So even if somehow Arq do
266.
▲
by
rsc
13y ago
Yes, but who tells you "you can't do that because we want to keep open the possibility of making money later"? The lawyers. AT&T gave away Unix during Unix's formative years, because AT&T's government-grante
267.
▲
by
rsc
13y ago
When you ask "why did big company X make strange choice Y regarding licensing or IP", 99 times out of 100 the answer is "lawyers". If the Plan 9 group had had its way, Plan 9 would have been released for free under a tri
268.
▲
by
rsc
13y ago
Bug reports and suggested fixes welcome. golang.org/issue
269.
▲
by
rsc
13y ago
The picture of Craig Gentry in the article shows him standing in front of the National Cryptologic Museum at the NSA. :-)
270.
▲
by
rsc
13y ago
Which one does the Linux kernel use? Which one does the FreeBSD kernel use? Which one does the Mac OS X kernel use?
More ›