Ruby에서 Freeze를 사용하는 이점
메타데이터를 만들 수 있어요.
루비에서 상수는 음소거판입니다.
freeze를 사용하면 이세계의 상수를 정의할 수 있습니다.
FOO = "foo".freeze
객체 할당 감소
미리 freeze를 사용하면 매번 대상이 생기는 것을 방지하고 루비 응용의 속도를 높일 수 있다.
Rubby는 freeze된 문자열을 캐시할 수 있기 때문에 실행할 때마다 대상의 비용이 발생하지 않습니다.
Every time you do a method call like log("foobar"), you create a new String object.
다음 예에서는 성능이 50% 향상되었음을 나타냅니다.
4
require 'benchmark/ips'
def noop(arg)
end
Benchmark.ips do |x|
x.report("normal") { noop("foo") }
x.report("frozen") { noop("foo".freeze) }
end
# Results with MRI 2.2.2:
# Calculating -------------------------------------
# normal 152.123k i/100ms
# frozen 167.474k i/100ms
# -------------------------------------------------
# normal 6.158M (± 3.3%) i/s - 30.881M
# frozen 9.312M (± 3.5%) i/s - 46.558M
출처:When to use freeze and frozen? in Ruby - Honeybadger Developer Blog
참고 자료
When to use freeze and frozen? in Ruby - Honeybadger Developer Blog
Reference
이 문제에 관하여(Ruby에서 Freeze를 사용하는 이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/bluesdd/articles/567c41ea99609b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)