Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What were the (then) unpublished optimizations that Steve Yegge referred to in "Dynamic Languages Strike Back"?

Tags:

I was reading the transcription of Steve Yegge's Dynamic Languages Strike Back presentation, when I noticed this comment when he begins to discuss trace trees:

I'll be honest with you, I actually have two optimizations that couldn't go into this talk that are even cooler than this because they haven't published yet. And I didn't want to let the cat out of the bag before they published. So this is actually just the tip of the iceberg.

What are the optimizations he was referring to?

Update

Several days ago, I asked this question in a comment on the article. However, comment moderation is turned on (for good reasons), so it hasn't appeared yet.

Update

It has been a couple weeks since I first tried to reach the author. Does anyone else know another way to contact him?

like image 266
Adam Paynter Avatar asked Sep 15 '10 15:09

Adam Paynter


People also ask

Who is Steve Yegge?

Steve Yegge is an American computer programmer and blogger who is known for writing about programming languages, productivity and software culture through his "Stevey's Drunken Blog Rants" site, followed by "Stevey's Blog Rants."

Why did so many JVM languages go down in flames?

I've seen too many JVM languages go down in flames because you couldn't subclass, I dunno, a static inner class of a nonstatic inner class, or whatever weird-ass edge case you needed at the time. Kotlin has made Java interop a top priority, which means migration to Kotlin can be done incrementally, one file at a time. It's succinct.

How did George Yegge become a nuclear engineer?

After turning 18, Yegge joined the United States Navy and attended Nuclear Power School to become a nuclear reactor operator. Yegge received a bachelor's degree in computer science from the University of Washington. Yegge began his career as a computer programmer at GeoWorks in 1992.

What happened to Yegge from Google?

From 2005 to 2018, Yegge worked as a Senior Staff Software Engineer at Google in Kirkland, Washington. In 2018, Yegge left Google to join Grab, a ridesharing company based in Singapore with an American hub in Seattle. After leaving Google, Yegge was interviewed by CNBC about why he left the company.


1 Answers

Take a look at this: https://blog.stackoverflow.com/2009/04/podcast-50/

EDIT: Difficult to find specific (confirmed) references however, this paper perhaps gives some information regarding this: http://people.mozilla.org/~dmandelin/tracemonkey-pldi-09.pdf and this blog post which appears related: http://andreasgal.wordpress.com/2008/08/22/tracing-the-web/

Might not be related as it is a Microsoft research paper from March 2010: http://research.microsoft.com/pubs/121449/techreport2.pdf

Pure speculative on my part but it appears (at least to me) that there are two major forms of performance, that at the developer level (IDE) and that at the compiler level which this subject of trace trees addresses hence the "continuous optomization" during execution to get the trace inline for the hot spots. This then leads me quickly to areas of optomization related to multi-cores and how to utilize the trace tree somehow in that regard (multi-core environments). Interesting stuff considering the currently theoretical non-static type speed speculation as compared to the speed winners in static type utilized in current C and the performance potential to be gained. I recall a discussion I had with a hardware engineer years ago (1979) where we speculated that if we could just capture the 'hot' execution paths we could get a huge gain in performance by keeping it "ready to run" in situ somehow - this was way prior to the work at HP in this regard (1999?) and unfortunatly we did not get further than the discussion stage due to other commitments. (I am rambling here I think...:)

OR, was this just related to the GO language? hard to tell in some respects.

like image 123
Mark Schultheiss Avatar answered Oct 11 '22 22:10

Mark Schultheiss