Viewing profile — pron
pron
HN member- Joined
- Fri, Dec 23, 2011, 10:45 PM UTC
- HN karma
- 25,037
- Public activity
- 8,357 items
- HN profile
- View on Hacker News ↗
About pron
Working on OpenJDK at Oracle
Recent public activity
-
comment
Comment #49217565
Of course GC is not inherently slower than other memory management strategies. Not only because GC is not a "memory management strategy" but a wide spectrum of them, but also becau…
- comment
-
comment
Comment #49217202
> Running a GC takes time Yes, but for a moving collector that's less time than it takes to run malloc and free. The interaction of a moving collector with most object is bump allo…
-
comment
Comment #49212561
> Go, Java, C#, and Python use garbage collectors. This makes them easier to use but slower and less predictable. It does not. The term "garbage collectors" covers a whole spectrum…
-
comment
Comment #49171884
Yes, I would have said JNI (and JNI still exists). But FFM is much more than a wrapper. In most situations it offers a significant performance boost over JNI. E.g. see https://gith…
-
comment
Comment #49171647
It's not so easy. The pattern you'd want to try and match or beat moving collectors is arenas, and they're really not trivial to use in C++ (or Rust). The only low-level language t…
-
comment
Comment #49159670
One thing we C++ programmers know, though, is that direct control over instructions helps performance in small programs but can hurt it in larger programs. E.g. it is really hard t…
-
comment
Comment #49125199
The JVM goes for performance, too, only with an emphasis on the performance of larger programs. It's designed to address some of the serious performance issues that large C++ progr…
-
comment
Comment #49123762
I think you've misunderstood, because not only would this have been the right design if it had been in Java since day one as it's in line with the philosophy of the platform, it's …
- comment
-
comment
Comment #49117368
Yes, but only in the programming sense of productivity, not in the economic sense. When prices stop being subsidised and the novelty wears off, this will boil down to the question …
-
comment
Comment #49113050
> Not very different from Java or C# It will be significantly worse than Java, at least in some important situations (don't know about C#). I've been programming in C++ for many, m…
-
comment
Comment #49110256
You can, and indeed that's what we JDK developers do. But even aside from the fact that writing the code is only a very small portion of the effort in this particular project (you …
-
comment
Comment #49109860
What spyware is there in the JDK? It's open-source, so you can look for yourself.
-
comment
Comment #49109588
Because, as the FAQ section clearly states, the technical and management aspects are not the only ones. There are also legal issues, and until they are clarified or resolved it's b…
-
comment
Comment #49109510
> You don't find it useful that use after free, double free, uninitialized memory, and many kinds of race conditions are just impossible in code that compiles? Sure, but memory saf…
-
comment
Comment #49104825
That depends on what you mean by GC. There are refcounting GCs, there are mark-and-sweep tracing GCs (like the one Go uses), and there are moving GCs (the last ones are the ones us…
-
comment
Comment #49104758
> The borrow checker is a good idea independent of memory safety. In fact, I would say that if you think that the borrow checker is a tool to ensure memory safety and it is getting…
-
comment
Comment #49104704
> This is incorrect. You can write those data structures in safe Rust just as easily as you can in Java. You'd write them using the safe primitives that the Rust stdlib provides to…
-
comment
Comment #49103978
> I don't know a moving GC crate for Rust, but I do know that building a safe moving GC crate for Rust is possible, using the same principles as existing GC crates. But those point…
-
comment
Comment #49103311
They find it immensely useful in practice only when the safe subset is useful. In C, you could say that the same definition of memory-safety exists, only the safe subset is empty, …
-
comment
Comment #49103274
> safe Rust is actually more memory safe than Java, since it guards against data races No, it isn't. First of all, data races in Java are memory-safe, as guaranteed by the Java mem…
-
comment
Comment #49103238
With FFM you can do unsafe things, such as call native code and directly manipulate memory read from or written to by native code.
-
comment
Comment #49101977
> No, you really can. You can use GC crates and the performance will be like Java It won't be anywhere near Java's. Those GCs are mark-and-sweep collectors. Java uses moving collec…
-
comment
Comment #49101870
You can't get the same semantics (e.g. no leaks) and you certainly can't get the same performance.