반응형
루비에서 긴 반복 텍스트 문자열을 생성하려면 어떻게 해야 합니까?
루비에서 긴 문자열을 빠르게 생성하는 가장 좋은 방법은 무엇입니까?작동하지만 속도가 매우 느립니다.
str = ""
length = 100000
(1..length).each {|i| str += "0"}
적절한 길이의 문자열을 만든 다음 원하는 길이까지 기존 문자열에 추가하는 것이 훨씬 더 빨리 작동한다는 것도 알게 되었습니다.
str = ""
incrementor = ""
length = 100000
(1..1000).each {|i| incrementor += "0"}
(1..100).each {|i| str += incrementor}
다른 제안은 없습니까?
str = "0" * 999999
비교적 빠른 또 다른 옵션은 다음과 같습니다.
str = '%0999999d' % 0
벤치마킹하기는 하지만
require 'benchmark'
Benchmark.bm(9) do |x|
x.report('format :') { '%099999999d' % 0 }
x.report('multiply:') { '0' * 99999999 }
end
곱셈이 여전히 더 빠르다는 것을 보여줍니다.
user system total real
format : 0.300000 0.080000 0.380000 ( 0.405345)
multiply: 0.080000 0.080000 0.160000 ( 0.172504)
언급URL : https://stackoverflow.com/questions/2296994/in-ruby-how-do-i-generate-a-long-string-of-repeated-text
반응형
'programing' 카테고리의 다른 글
유형 스크립트에서 클래스 인스턴스를 내보내는 방법 (0) | 2023.06.10 |
---|---|
Scipy(Python)로 이론적인 분포에 경험적 분포를 맞추는 것? (0) | 2023.06.10 |
vuex 작업 개체 내부에 비동기 코드를 작성하는 방법은 무엇입니까? (0) | 2023.06.10 |
mysql 콘솔에서 mysql.user 테이블에 삽입할 때 "not insertable-to" 오류가 발생하는 이유는 무엇입니까? (0) | 2023.06.10 |
Axios 약속이 vue 메서드에서 오류를 발생시키지 않습니다. (0) | 2023.06.10 |