News for hackers. Stuff that matters.
Re:My time with Rails is up by narag on Sunday May 22, 2016 @03:19PM (#11749856)
There was a recent article about Julia that discussed how a printf in C translate to very few instructions in assembler.

Also I would like to point that "translates" is a little misleading word. There are two ways of implementing an abstraction from a higher level system to a lower level one.

You can generate code or you can write a runtime framework that does the work dynamically. Although from the higher place both may seem the same, there's a huge difference between them that has consequences.

Re:My time with Rails is up by MegaDeKay on Sunday May 22, 2016 @03:58PM (#11750009)
The link to that article is below. printf in C tranlates to a few lines of assembly in preparation for a call to sprintf. That in turn will have a lot more instructions in assembler.

http://zverovich.net/2016/05/13/giving-up-on-julia.html

Re:My time with Rails is up by hackerboos on Sunday May 22, 2016 @07:08PM (#11750682)
Indeed and OP is mixing up language implementation and standard libs with a framework.
Re:My time with Rails is up by smitherfield on Sunday May 22, 2016 @03:27PM (#11749880)
>There was a recent article about Julia that discussed how a printf in C translate to very few instructions in assembler.

I wouldn't doubt it; compilers have become amazing at optimizing. But printf is hundreds of lines of C, at very least: http://opensource.apple.com//source/Libc/Libc-1082.20.4/stdi...

Re:My time with Rails is up by narag on Sunday May 22, 2016 @05:47PM (#11750427)
Well, hundreds is not the same as thousands ;-)

And most important, a call is not the same as the implementation of the called function, my point to begin with, please see my comment in the context of yours.

Re:My time with Rails is up by smitherfield on Sunday May 22, 2016 @07:22PM (#11750725)
Per cloc it's actually 1093 lines of C (plus some more in the printf.c file), and generally speaking hundreds of lines of C is the equivalent of thousands of lines of assembly.

In any case, the complexity of the called function is exactly what we're discussing — it's why the author objects to "User.create(params[:user])"