Hacker News new | past | comments | ask | show | jobs | submit | DonPellegrino's comments login

This episode of the Jane Street podcast (Signals & Threads) discusses a recent optimization to the GC (pointer prefetching) that's had impressive results. Part of why it has worked so well is the pointer tagging/63-bit integers.

Great episode, I highly recommend it to all interested in language runtime design.

https://signals-threads.simplecast.com/episodes/memory-manag...


> Lea became very slow in recent Intel cpus? News to me.

Article is from 2014. The "recent" CPUs they are discussing is the Sandy Bridge architecture launched in 2011.

See this discussion about the performance impact of LEA in Sandy Bridge: https://github.com/ocaml/ocaml/issues/6125#issuecomment-4729...



Oh, I didn't follow that link, I was just reading the blog. Those are decent comments, too bad they were nixed for the blog.


But the entire paragraph where they are introduced is a commentary on them.


[flagged]


You've unfortunately been breaking the site guidelines repeatedly. Can you please review https://news.ycombinator.com/newsguidelines.html and stick to them? We'd be grateful.


This top bit is used by the garbage collector for performance. OCaml's GC is light enough that it simply does not feel like it exists at all. Integers also do not cause allocations.

Jane Street's blog explains the reasoning in detail[0]

[0] https://blog.janestreet.com/what-is-gained-and-lost-with-63-...


I think this line explains what I was facinated by,

"x * y is translated to CPU instructions (x >> 1) * (y - 1) + 1" namely that it now at least 3 extra highlevel operations to do simple multiplication.


How does paying employees to spend time on this make sense for a hedge fund?


That wasn’t done by Jane Street. This is part of the language from the start and was introduced by Leroy team at INRIA.

As to the point of studying boxing, well, it’s fairly basic compiler theory. It will be hard to avoid if you have even the slightest interest in PL.


Optimization of code is valuable in a lot of industries where time-to-complete or time-to-react is proportional to money spent/lost.


Most of their cohorts just use C++ for that. Several Wall Street firms wrote their own language back in the day. Until the business people figured out IT people just liked to write languages and tell happy stories. They are in the money making business, not the language writing business. Division of labor.

I spent 3 years at Morgan Stanley writing A+ and loved it. A+ is dead but kdb lives on, and is widely used at top hedge funds.


IIRC, some Smalltalks also use a similar trick.


AMD has confirmed that they've been able to replicate the Linux bug and that it only happens on Ryzen, ThreadRipper and Epyc do not suffer from that issue.


They also have also inadvertently confirmed that their Linux testing efforts are lacking. Which just blows my mind TBH, because they're also in the server market, dominated completely by Linux.


Nordam Group | Fullstack Software Developer | Tulsa, OK | Onsite (relocation available)

We’re an independent development team inside The NORDAM Group building a brand new public web service. The aerospace industry we’re modernizing has yet to fully benefit from the data revolution. We pride ourselves on our “startup” approach: we leverage modern technologies and methodologies and we prefer results over tradition. By being a totally separate unit in a large corporation, we benefit from its support and extensive business network, without all the downsides that come with software development at larger companies.

Our product needs to handle information at scale, safely. We deal with items often worth tens of thousands of dollars or more. We do things the right way from the first time - cutting corners is not worth it in our case.

You know Ruby inside and out, both the pretty and the ugly. You can tell when a piece of code will be inefficient just by looking at it and you know how to optimize it. However, you are not married to any programming language and would welcome the opportunity to learn a new one on the job with open arms.

As an early dev hire, you will be in a unique position to work on virtually all aspects of our product and have a strong voice in product and technology strategy. This position is a great opportunity for a smart and ambitious developer to advance their career and have a major impact on a large, important and clean project

Contact me at simon.grondin@outlook.com and I'll put you in touch with the right people.


Nordam Group | Fullstack Software Developer | Tulsa, OK | Onsite (relocation available)

We’re an independent development team inside The NORDAM Group building a brand new public web service. The aerospace industry we’re modernizing has yet to fully benefit from the data revolution. We pride ourselves on our “startup” approach: we leverage modern technologies and methodologies and we prefer results over tradition. By being a totally separate unit in a large corporation, we benefit from its support and extensive business network, without all the downsides that come with software development at larger companies.

Our product needs to handle information at scale, safely. We deal with items often worth tens of thousands of dollars or more. We do things the right way from the first time - cutting corners is not worth it in our case.

You know Ruby inside and out, both the pretty and the ugly. You can tell when a piece of code will be inefficient just by looking at it and you know how to optimize it. However, you are not married to any programming language and would welcome the opportunity to learn a new one on the job with open arms.

As an early dev hire, you will be in a unique position to work on virtually all aspects of our product and have a strong voice in product and technology strategy. This position is a great opportunity for a smart and ambitious developer to advance their career and have a major impact on a large, important and clean project

Contact me at simon.grondin@outlook.com and I'll put you in touch with the right people.


F# lacks all the most advanced module capabilities of OCaml, is tied to the CLR and isn't free of the Null problem.


Meanwhile it enjoys real multi-core, and has much better IDE support, access to 3D accelerated GUIs and high quality DB drivers and proper Windows supports.


It checks that the first column of each row is not null, that's what the '1' stands for.


This is a "10 tonne truck" we're talking about. They also mention how once they needed 3 trucks to pull them out.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: