←back to thread

257 points pmig | 2 comments | | HN request time: 0.427s | source
Show context
pjmlp ◴[] No.43099587[source]
This looks like one of the typical "we switched from A to B, whithout actually mastering A, so B is alright" kind of posts.

Just on the monitoring part, Go has nothing even close to VisualVM, Flight Recorder, JRebel, VM agents, JMX.

No mention of AOT compilers, JIT caches, and so forth.

replies(9): >>43099839 #>>43099850 #>>43100755 #>>43100882 #>>43101164 #>>43101267 #>>43101355 #>>43102589 #>>43102655 #
1. kitd ◴[] No.43100882[source]
pprof data via HTTP is part of the Go stdlib and is pretty close, good enough for 95% of cases. One could argue you need those tools less in a Go codebase anyway ;)

AOT is mentioned and JIT is not relevant.

replies(1): >>43102028 #
2. pjmlp ◴[] No.43102028[source]
pprof isn't not even close to what Visual VM and Flight Recorder are capable of, hence why then there are stuff like open telemetry integration, which require active coding to provide sensible data.

This is the only mention of AOT

> Java's JIT (Just-In-Time) compiler and Go's AOT (Ahead-Of-Time) compiler are definitely two very different approaches and therefore hard to compare.

Zero content on all the options since Excelsior JET and other commercial alternatives came to be, or the free beer alternatives available nowadays.

JIT caches and plain old JIT aren't the same.

JIT caches are similar in concept to AOT with PGO, with the difference that instead of doing that once for the lifetime of the executable with data from test runs, it gets updated after each production execution.