I can only partially bisect.

The regression happens between:

75fc9104ee24 (more recent)

and

dc6b0de80550 (older)

But few of the intervening commits actually build, so I can't refine it
further. There's something like 40 commits in that range.

Bill.

On 16 March 2016 at 18:28, Kristoffer Carlsson <kcarlsso...@gmail.com>
wrote:

> Can you bisect to the right commit?
>
> You can create a julia script that runs "exit(1)" on a bad commit and "
> exit(0)" on a good commit.
>
> Then create a bisect_runner.sh with
>
> make || exit 125
>
> julia -e 'include("test_script.jl")'
>
> and then do a bisect run ./bisect_runner.sh after having marked a good
> and bad commit.
>
>
>
> On Wednesday, March 16, 2016 at 5:25:11 PM UTC+1, Bill Hart wrote:
>>
>> We are seeing a performance regression with a factor of 1.5 or 2.0
>> (depending on machine) for the following simple C interface code between
>> 0.4.2 and today's master (not sure where the problem initially showed up,
>> but within the last 50 days):
>>
>> import Base: +
>>
>> typealias ZZ Array{UInt, 1}
>>
>> function +(a::ZZ, b::Int)
>>    r = ZZ(length(a))
>>    ccall((:__gmpn_add_1, :libgmp), Void, (Ptr{UInt}, Ptr{UInt}, Int,
>> Int), r, a, 3, b)
>>    return r
>> end
>>
>> function doit(n::Int)
>>    a = ZZ(3)
>>    a[1] = rand(UInt)
>>    a[2] = rand(UInt)
>>    a[3] = rand(UInt)
>>
>>    for s = 1:n
>>       a += s
>>    end
>>
>>    return a
>> end
>>
>> doit(1000000000)
>>
>>
>> I realise the example is not mathematically very meaningful, nor is it
>> the best way to compute anything in particular. It's cut down from a larger
>> example to illustrate the performance regression clearly.
>>
>> Bill.
>>
>>

Reply via email to