Hi, a simple question:
a)
def hello(string)
# stuff with 'string'
end
b)
def hello(s)
# stuff with 's'
end
Will be b) faster since the parameter name contains less letters?
···
--
Iñaki Baz Castillo
Hi, a simple question:
a)
def hello(string)
# stuff with 'string'
end
b)
def hello(s)
# stuff with 's'
end
Will be b) faster since the parameter name contains less letters?
--
Iñaki Baz Castillo
I have no idea. I guess not. But you can easily verify for yourself. Just write up a little program using Benchmark and you'll soon know.
Kind regards
robert
On 02.03.2009 21:48, Iñaki Baz Castillo wrote:
Hi, a simple question:
a)
def hello(string)
# stuff with 'string'
endb)
def hello(s)
# stuff with 's'
endWill be b) faster since the parameter name contains less letters?
Yes, doing a benchmark the result is more or less the same (any other factor
seems to be more important), but what I want to know is what should be the
response based on how Ruby works. Under my understanding Ruby needs to parse
during runtime the variable name so a longer variable name would require more
time, am I wrong?
Thanks a lot.
El Lunes, 2 de Marzo de 2009, Robert Klemme escribió:
On 02.03.2009 21:48, Iñaki Baz Castillo wrote:
> Hi, a simple question:
>
> a)
> def hello(string)
> # stuff with 'string'
> end
>
> b)
> def hello(s)
> # stuff with 's'
> end
>
>
> Will be b) faster since the parameter name contains less letters?I have no idea. I guess not. But you can easily verify for yourself.
Just write up a little program using Benchmark and you'll soon know.
--
Iñaki Baz Castillo
And how much faster would it have to be to make it worth it to use a meaningless name versus a meaningful one?
Smells like premature optimization to me...
Cheers,
dwh
Robert Klemme wrote:
On 02.03.2009 21:48, Iñaki Baz Castillo wrote:
Hi, a simple question:
a)
def hello(string)
# stuff with 'string'
endb)
def hello(s)
# stuff with 's'
endWill be b) faster since the parameter name contains less letters?
Iñaki Baz Castillo wrote:
Yes, doing a benchmark the result is more or less the same (any other
factor
seems to be more important), but what I want to know is what should be
the
response based on how Ruby works. Under my understanding Ruby needs to
parse
during runtime the variable name so a longer variable name would require
more
time, am I wrong?
I believe you're wrong.
Symbols are resolved into references to the symbol table at parse time,
so when running, :s and :ssssssssssssssss are just two different
pointers into the same symbol table. As for local variables, they are
just offsets into the stack frame.
So it might take a microscopically small amount of extra time for your
program to start up, reading a few extra bytes of source code, but once
it's running, each iteration should take the same time.
--
Posted via http://www.ruby-forum.com/.
Sure, it was just curiosity
I will not code in Ruby to get a unreadable code like in other languages
El Lunes, 2 de Marzo de 2009, Denis Haskin escribió:
And how much faster would it have to be to make it worth it to use a
meaningless name versus a meaningful one?Smells like premature optimization to me...
--
Iñaki Baz Castillo
Thanks, that makes sense
El Lunes, 2 de Marzo de 2009, Brian Candler escribió:
Iñaki Baz Castillo wrote:
> Yes, doing a benchmark the result is more or less the same (any other
> factor
> seems to be more important), but what I want to know is what should be
> the
> response based on how Ruby works. Under my understanding Ruby needs to
> parse
> during runtime the variable name so a longer variable name would require
> more
> time, am I wrong?I believe you're wrong.
Symbols are resolved into references to the symbol table at parse time,
so when running, :s and :ssssssssssssssss are just two different
pointers into the same symbol table. As for local variables, they are
just offsets into the stack frame.So it might take a microscopically small amount of extra time for your
program to start up, reading a few extra bytes of source code, but once
it's running, each iteration should take the same time.
--
Iñaki Baz Castillo
Good to hear.
It's just remarkable how lots of people start at the end and work their way backwards...
dwh
Iñaki Baz Castillo wrote:
El Lunes, 2 de Marzo de 2009, Denis Haskin escribió:
And how much faster would it have to be to make it worth it to use a
meaningless name versus a meaningful one?Smells like premature optimization to me...
Sure, it was just curiosity
I will not code in Ruby to get a unreadable code like in other languages