将对象作为参数传递时,是否通过引用传递?

Bla*_*man 7 ruby ruby-on-rails pass-by-reference

如果我执行以下任一操作,是否会影响性能:

def do_something(user, article)
...
end
Run Code Online (Sandbox Code Playgroud)

def do_something(user_id, article_id)
  ..
end
Run Code Online (Sandbox Code Playgroud)

我更喜欢传递物体,因为我可能需要其他属性.

Dig*_*oss 16

两种方法调用都需要大约相同的时间.

(了解性能后果很好,并且您提出了一个合理的问题,但即便如此,关于早期优化的标准免责声明1在技​​术上也适用.)


1.首先,让程序工作.然后,个人资料.最后,也许,优化.
唐纳德克努特说: 我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源.

  • +1是你自己提出的标准免责声明(除了Knuth引用之外),还是你在某个地方听到的? (2认同)