서식이 향상되었습니다.

7065 단어 benchmark-ips

묘사

  • iter계수를 10^3의 비율로 접미사를 붙여 가독성을 높인다.
  • 인쇄 정밀도를 소수점 이하 3자리로 낮춥니다.
  • stdddev 백분율 너비를 4글자로 고정시켜 정렬합니다.
  • 다음은 앞과 뒤의 출력입니다.ips 계수가 수십만 이상에 달했을 때, 나는 항상 ips 계수를 읽기 어려웠고, stddev 교정하는 일은 줄곧 나를 괴롭혔다.ips 크기 조정 변경도 정렬을 일치시키는 데 도움이 됩니다.
    정밀도의 변화는 몇 가지 이유가 필요하다.지나간 시간에 대해 말하자면, 나는 ms보다 낮은 시간은 '초당 교체 횟수' 의 기준 테스트에 모두 쓸모가 없다고 생각한다. 표시되는 시간은 모두 5s 정도이다.i/s에 대해 말하자면, 모든 표시가 1/1000인 것은 기준 소음 부근에 있을 것이다.만약 어떤 물건이 5초 안에 50만 번의 교체를 완성할 수 있다면 그것은 초당 10미터이고 1000번의 교체(1/10000의 정밀도 손실)는 0.1밀리초가 필요하다.이 기준의 오류율은 +/-1000회 교체 또는 0.0002% 이다.받아들일 수 있고 가독성이 좋은 결과입니다.
    이전:
    Calculating -------------------------------------
    uncontended MD5 'foo'
                             29296 i/100ms
    uncontended MD5 'foo' * 1000
                              9558 i/100ms
    4x contended MD5 'foo'
                               599 i/100ms
    4x contended MD5 'foo' * 1000
                               519 i/100ms
    10x contended MD5 'foo'
                               267 i/100ms
    10x contended MD5 'foo' * 1000
                               229 i/100ms
    100x contended MD5 'foo'
                                21 i/100ms
    100x contended MD5 'foo' * 1000
                                19 i/100ms
    -------------------------------------------------
    uncontended MD5 'foo'
                           543446.5 (±5.2%) i/s -    2724528 in   5.028890s
    uncontended MD5 'foo' * 1000
                           134059.2 (±2.9%) i/s -     678618 in   5.066376s
    4x contended MD5 'foo'
                           123911.7 (±10.6%) i/s -     609782 in   4.994339s
    4x contended MD5 'foo' * 1000
                            31893.7 (±6.9%) i/s -     158814 in   5.006711s
    10x contended MD5 'foo'
                            47335.5 (±9.4%) i/s -     233625 in   4.994032s
    10x contended MD5 'foo' * 1000
                            12726.5 (±5.5%) i/s -      63433 in   5.001239s
    100x contended MD5 'foo'
                             2463.1 (±8.1%) i/s -      12222 in   4.999318s
    100x contended MD5 'foo' * 1000
                              976.0 (±5.2%) i/s -       4883 in   5.018057s
    
    다음:
    나의 가장 큰 걱정은 선과 선 사이의 폭 전환이다.이 숫자들을 볼 때 크기를 무시하기 쉽다.내가 더 좋아하는 것은 모든 숫자를 보고'네, 대다수가 1000 이상입니다. 우리는 킬로그램 단위로 숫자를 표시해야 합니다'라고 결정하는 것이다. 그러면 우리는 줄 사이를 전환하지 않을 것이다.

    토론 #1

    @evanphx에서 이 줄에서'1000000 in'을 삭제할 수 있습니까?이것은 전체 시간의 속도보다 더 많은 정보를 전달했는가(예를 들어 그것은 파생할 수 있는 것이기 때문에 나는 이 숫자에 관심을 두지 않는다)?
    죄송합니다. 이 오류에 뛰어들었지만, 형식에 관한 것입니다.

    토론 #2

    @enebo 어느 줄입니까?

    토론 #셋

    Calculating -------------------------------------
    uncontended MD5 'foo'
                            29.733k i/100ms
    uncontended MD5 'foo' * 1000
                             9.572k i/100ms
    4x contended MD5 'foo'
                           618.000  i/100ms
    4x contended MD5 'foo' * 1000
                           531.000  i/100ms
    10x contended MD5 'foo'
                           273.000  i/100ms
    10x contended MD5 'foo' * 1000
                           234.000  i/100ms
    100x contended MD5 'foo'
                            22.000  i/100ms
    100x contended MD5 'foo' * 1000
                            19.000  i/100ms
    -------------------------------------------------
    uncontended MD5 'foo'
                            553.452k (± 3.5%) i/s -      2.765M in      5.003s
    uncontended MD5 'foo' * 1000
                            134.654k (± 2.9%) i/s -    679.612k in      5.051s
    4x contended MD5 'foo'
                            124.699k (±10.1%) i/s -    614.292k in      4.994s
    4x contended MD5 'foo' * 1000
                             32.174k (± 6.9%) i/s -    160.362k in      5.012s
    10x contended MD5 'foo'
                             47.166k (± 9.2%) i/s -    233.142k in      4.999s
    10x contended MD5 'foo' * 1000
                             12.643k (± 5.6%) i/s -     63.180k in      5.015s
    100x contended MD5 'foo'
                              2.513k (± 7.2%) i/s -     12.496k in      5.002s
    100x contended MD5 'foo' * 1000
                            978.344  (± 5.1%) i/s -      4.883k in      5.006s
    
    978.344  (± 5.1%) i/s -      4.883k in      5.006s
    

    토론 #4

    불행하게도 우리는 모든 숫자에 대해 단일한 눈금을 선택할 수 없다. 왜냐하면 그것이 실행된 후에 바로 결과를 나타내기 때문이다.우리는 그것을 기다린 후에 보고서를 작성해야 한다. 나는 이것이 가용성에 해를 끼칠 것이라고 생각한다.
    처음에는 음계의 변화가 걱정스러웠지만, 나는 이 접미사들을 읽는 것이 조금도 어렵지 않았다.우리는 이미 계산의 많은 다른 방면에서 이렇게 하는 것에 익숙해졌다.자유공간, 지난번 게시 이후 시간(5초 전, 5m 전)...나는 이것이 문제라고 생각하지 않는다.
    어쨌든 264.368M을 읽는 것이 264368526을 읽는 것보다 훨씬 쉽다.후자는 접미사보다 변화가 더 골치 아프다.

    토론 #5

    야!

    토론 #6

    전면 공개만 가능합니다.테스트가 실제적으로 적당한 시간 동안 실행되었음을 확보하기 위해 빠른 건전성 검사를 제공하는 것 외에 너무 많은 정보를 전달하지 않는 것이 옳다.사실 Benchmark/ips는 이 시간들을 검사해야 합니다. 만약 이 시간들이 실행 시간과 너무 멀다면 확대해야 합니다.in X.Ys 접미사가 정확한 값보다 읽을 수 있는 또 다른 경우: 어떤 결과의 너비가 1문자이고 어떤 결과의 너비가 12문자라면 합리적으로 열을 맞추기 어렵다.이것은 모든 결과의 폭을 일치하게 하고, 뒤에 비례 접미사를 붙인다.더 간단해!:-)

    토론 #7

    @evanphx 네, 결국 저도 5.0002초에 관심이 없지만 5s 운행의 증가량이 너무 큰지 관심이 있습니다.

    토론 #8

    @headius 네, 큰 숫자에 접두사가 더 쉽다는 것을 충분히 볼 수 있습니다.내가 좀 지나치게 보호했나봐.":human"이라는 옵션을 추가하는 것은 어떻습니까? 기본적으로 이 옵션은 활성화되어 있으며, 설정한 후에 접두사를 사용합니다.이것은 적어도 사람들에게 가벼운 기회를 주었다.

    토론 #9

    나는 옵션을 추가하는 것을 고려한 적이 있다. 나는'원시적인'폼이 좋을 것이라고 동의한다.나는 너의 건의에 따라 할 것이다.

    토론 #10

    @enebo 동의

    토론 #11

    최종적으로 소음입니다.이 값이 필요한 운행 시간의 5% 를 초과하지 않는 한, 나는 그것을 변경해서 억제할 것이다.in X.Y@evanphx는 기준 테스트에 전달된 IP를 제외하고는 다른 IP 옵션을 볼 수 없습니다.ips 방법.거기에 추가할 패치가 하나 있습니다(https://gist.github.com/headius/61c09c2c5b8574b30df4). 그게 당신 뜻입니까?나의 직감은 이것이 옵션이어야 하며, 너는 기준을 바꾸지 않고 전환할 수 있다는 것을 알려주었다.

    토론 #12

    그 패치가 좋아요.기본값을 포함하는 산열을

    토론 #13

    추가하면 사람들이 할 수 있습니다. Benchmark::IPS.optionsBenchmark::IPS.options[:format] = :raw@enebohttps://github.com/evanphx/benchmark-ips/commit/4736eb6e50e2999a03217d3c75e61874e343bae9너를 위해!

    토론 #14

    이 옵션을 ips () 호출에서 꺼내서 Benchmark::ips로 따로 옮깁니다.옵션입니다.기본 테스트를 하드코딩하는 것은 그 형식이 옳지 않다.

    토론 #15

    @headius 네, 그럼 안에 있는 다른

    토론 #16

    도 제거해야 합니다.아이고, 나 정말 바보야.불량 드릴을 제거하고 힘껏 밀어라.@format@headius 다시 고치면 도착합니다!

    토론 #17

    Yeesh...나는 오늘 걱정거리가 너무 많다고 생각한다.다시 밀어.

    토론 #18

    나는 최근의 제출에 따라 다시 그것을 재정비하고 제출했다.감사합니다!

    토론 #19

    숫자의 점 기호는 정말 나를 반감하게 하지만, 나도 원시적으로 바꿀 수 없을 것 같다.Block 객체에 #ips 메소드의 매개 변수로 전달하려고 합니다.내가 어떻게 이런 새로운 숫자 형식을 사용하지 않을 수 있겠는가?

    토론 #20

    나는 그것을 설정하는 방법을 찾지 못했을 뿐만 아니라 이 값을 설정할 방법이 없다는 것을 상당히 확신했다.이 방면에도 테스트가 없다.

    토론 #21

    @krainboltgreen 추가

    토론 #22

    를 통해 원시 상태로 설정할 수 있습니다

    좋은 웹페이지 즐겨찾기