Hacker Newsnew | past | comments | ask | show | jobs | submit | more auselen's commentslogin

I wasn’t aware of this, was still a teenager at that time. May be because of this I was never impressed with later years…



I remember this being discussed: https://news.ycombinator.com/item?id=41914724


Trying to provide a perspective..

Let’s say because of your genetics, you can enjoy playing basketball, and you do that, and you have fun doing that, you get better at it… but that’s that, it won’t be that easy for you with other subjects or even get to next level at basketball. Then you need to submit to discipline… or are you willing to wait for things to become fun?

> pays off

That’s why it is important to chase things you are curious about, then you don’t need to wait for some return…


> European VM providers

Now I can’t remember the name of that company from Switzerland…

They did some early work on dalvik but it didn’t fly commercially iirc…


Esmertec?

I think they've pivoted into microcontroller stuff.


Sounds like that, funny thing I still can’t be sure…

I was at Sony Ericsson integrating it 2008-2010.


This story is in “surely you are joking mr. Feynman” or “what do you care what does other people think?”.

When they ask him to do something not concrete, that was his answer :) so he was preferring fetching pencils to thinking about applications of some technology…


Genuinely asking - not directly to OP of course, wasn’t this how people were playing the game when you were kids? Not as rigorous, but you intuitively try offsets to get lucky and find the number in fewer tries?


Isn’t this like a case of “Ship of Theseus”?

https://en.wikipedia.org/wiki/Ship_of_Theseus


I guess in the same sense that every functional aircraft is. Taking everything apart and putting it back together, replacing worn out parts, is considered normal maintenance.


Wouldn’t just a simple case of bad code generation render little compiler into a toy one?

Repeating others, today’s compilers are really just “optimizing compilers”, there is no room for toying in production environments.


>just a simple case of bad code generation render little compiler into a toy one

If you find some time to go through gcc bugzilla you'll find shockingly simple snippets of code that miscompiled (often by optimization passes), with fixes never backported to older versions that production environments like RHEL are using.


I realized with all the rhel systems I’m using, we are never using default toolchains on them. Just use those old systems to run stuff, even newer toolchains.


Ok, but that’s sw engineering issue.

I still insist that a production grade compiler can’t leave performance on table. Which is where the current battlefield is.


I think a production grade compiler not only can, but must, leave performance on the table when the cost is correctness (unless the performance gain is incredibly high and the correctness loss is minimal). Correctness is not all important, but it is the most important thing. Unfortunately, compiler writers do not agree and they do silly things like "let's assume UB cannot ever happen and optimize based on that".


Correctness is already a must, how did you arrive to this?


if only the gcc and llvm maintainers, and c standard authors, agreed with you


I mean these compilers build all these SW stacks, even this very browser I’m using, where are these correctness issues you are talking about?


there are new items in this category every day, but https://blog.cr.yp.to/20240803-clang.html is noteworthy


This is about optimizations affecting timing of cryptographic code, not correctness of computation, the argument for calling this a correctness bug in the compiler is quite weak I think.



yes, that


I do not agree in the general case. There are very useful DSL compilers which do not consider performance at all, but just compile to a target which does the optimization for them (JVM, LLVM IR or even just C)


Yes but those are called transpilers, right?


There is no fundamental difference between a compiler, transpiler and interpreter.

The techniques employed are very similar


if you aren't running on the gpu you're leaving 80+% of your computer's performance on the table. no optimizing compiler is going to make your legacy c or lisp or rust code run efficiently on the gpu, or even in most cases on a multicore cpu. nor, as thechao points out, can it compete with assembly-language programmers for simd vectorization on the cpu

in summary, optimizing compilers for c or pascal or zig or rust or whatever can only be used for code where considerations like compatibility, ease of programming, security, and predictability are more important than performance

probably the vast majority of production code is already in python and javascript, which don't even have reasonable compilers at all


How come you made this about computer’s performance :)


because computer performance is the topic of https://news.ycombinator.com/item?id=41255695, https://news.ycombinator.com/item?id=41255365, and https://news.ycombinator.com/item?id=41255195, the three levels of parent comments in the thread, one of which was by you


No.

Main post is about a C compiler, post I responded is saying

> When your computer was anemic, and could barely do the tasks required for it

which I could only interpret as a machine that can run a single process at a time, so not really about gpus or what.



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

Search: