Where to get older engine dev builds (for bisecting)
Moderator: Moderators
Where to get older engine dev builds (for bisecting)
I would like to bisect (use benchmarker tool) some performance issues which arised between 91.0 and 94.1
Problem is that I cannot find older dev builds of 91 and 92.
Where are they? Were they deleted from the springrts.com/dl/buildbot ? Where to get them then? Can they be recompiled?
(In an artificial test where jeffies fight each other in lines, sim runs several times slower in 94+ than in 91.0)
http://i.imgur.com/VHrFhxi.png
Problem is that I cannot find older dev builds of 91 and 92.
Where are they? Were they deleted from the springrts.com/dl/buildbot ? Where to get them then? Can they be recompiled?
(In an artificial test where jeffies fight each other in lines, sim runs several times slower in 94+ than in 91.0)
http://i.imgur.com/VHrFhxi.png
Re: Where to get older engine dev builds (for bisecting)
I would love to help you profile, but currently I cant compile spring because spring is looking for boost threads static version, which does not exist in vclibs10.
Re: Where to get older engine dev builds (for bisecting)
Thing is, everything before 93.0.1-11-g1c96fdf/ 07-čen-2013 04:35 is empty directories.
Re: Where to get older engine dev builds (for bisecting)
Indeed that is odd, at least the master builds are there:
http://springrts.com/dl/buildbot/default/master/
http://springrts.com/dl/buildbot/default/master/
Re: Where to get older engine dev builds (for bisecting)
The performance breaking commit I seek is between 91.0 and 92.0 ..
Could buildbot be told to recompile those somehow?
Could buildbot be told to recompile those somehow?
Re: Where to get older engine dev builds (for bisecting)
Used to be integrated with a bot in #buildserv 

- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Re: Where to get older engine dev builds (for bisecting)
If you can figure out what caused it, I might be compelled to have your manchildren.Licho wrote:The performance breaking commit I seek is between 91.0 and 92.0 ..
Could buildbot be told to recompile those somehow?
Re: Where to get older engine dev builds (for bisecting)
i guess this would allow you to issue build-slave builds (for windows):
http://buildbot.springrts.com/builders/ ... ndows-test
you need an account there though.
http://buildbot.springrts.com/builders/ ... ndows-test
you need an account there though.
Re: Where to get older engine dev builds (for bisecting)
cleanup script didn't delete (broken) symbolic links, fixed it:Anarchid wrote:Thing is, everything before 93.0.1-11-g1c96fdf/ 07-čen-2013 04:35 is empty directories.
https://github.com/spring/spring/commit ... e1f87503ff
Re: Where to get older engine dev builds (for bisecting)
@Beherith:Beherith wrote:I would love to help you profile, but currently I cant compile spring because spring is looking for boost threads static version, which does not exist in vclibs10.
error message? can you be a bit more specific?
Re: Where to get older engine dev builds (for bisecting)
hm, tried to compile 5d943d4265c8b7b0e3bc1ff451f8420d7364ae0b which is
"93.0.1-29-g5d943d4":
http://buildbot.springrts.com/builders/ ... logs/stdio
it seems like its not so easily possible to recompile old versions on the buildslave... this error could be fixed by removing all cache / build system files i guess. doing this automaticly would require to change the build process which would require a lot of changes / work. so doing a local bisect with compiling yourself the required versions is much more faster, sorry
(i guess the error happens because cmake caches the filenames used to build a target...)
"93.0.1-29-g5d943d4":
http://buildbot.springrts.com/builders/ ... logs/stdio
it seems like its not so easily possible to recompile old versions on the buildslave... this error could be fixed by removing all cache / build system files i guess. doing this automaticly would require to change the build process which would require a lot of changes / work. so doing a local bisect with compiling yourself the required versions is much more faster, sorry

(i guess the error happens because cmake caches the filenames used to build a target...)
Re: Where to get older engine dev builds (for bisecting)
plain executable:
http://springrts.com/dl/buildbot/defaul ... spring.exe
thats all i can do atm. if you test this one and say if it is slower i can compile a different one...
(next one will be a close one to 91.0 as possible the buildsetup / update of gcc etc. could be a performance-eater, too)
http://springrts.com/dl/buildbot/defaul ... spring.exe
thats all i can do atm. if you test this one and say if it is slower i can compile a different one...
(next one will be a close one to 91.0 as possible the buildsetup / update of gcc etc. could be a performance-eater, too)
Re: Where to get older engine dev builds (for bisecting)
addition: its not possible in a clean + easy way to use current build-setup to compile older versions of spring. many stuff in the build system has changed so it will be easier in future to change version of gcc / paths / etc, but some of this changes are not backwards compatible. so, it will fail at some point, as config and source repository are "incompatible". manually compile is much easier, but creation of installer etc. doesn't work without changes.
why didn't you test at which major version performance dropped? you could have tested 91.0, 92.0, 93.0 & 94.1, so you can at least say at which major version performance dropped.between 91.0 and 94.1
Re: Where to get older engine dev builds (for bisecting)
Finally, a use for binary search that was so important in college!
Re: Where to get older engine dev builds (for bisecting)
Thats bad new Abma..
If I wanted to do it manually I would have never coded tool to automate it..
I need to bisect 1500 builds there..
Spring is hosted on windows server, could a working build slave be installed there? Or why does it have to be local?
And I did test major version, thats why I said slowdown acurred between 91.0 and 92.0
If I wanted to do it manually I would have never coded tool to automate it..
I need to bisect 1500 builds there..
Spring is hosted on windows server, could a working build slave be installed there? Or why does it have to be local?
And I did test major version, thats why I said slowdown acurred between 91.0 and 92.0
Re: Where to get older engine dev builds (for bisecting)
setting up a windows buildslave is much more difficult than on linux: you need python, 7z, mingw, libs, ... there is no "apt-get install..."Licho wrote:Spring is hosted on windows server, could a working build slave be installed there? Or why does it have to be local?
build-process heavily changed between 91.0 and current development, this is why it doesn't work 1:1... also, there are some commits which don't compile, you have to skip them and use a commit "below" or "above" the broken commit.
for example, executable was for some time multithreaded, spring was renamed to spring-singlethreaded.exe and so stuff. you can't really automaticly fix that.
i'll build the next spring.exe, we have about ~10 builds to find the "bad" commit.
Re: Where to get older engine dev builds (for bisecting)
http://springrts.com/dl/buildbot/defaul ... ortable.7z
i wrote a small script, so i only have to do a "git checkout && run ./compile.sh", so just write me, if you need a specific version...
i wrote a small script, so i only have to do a "git checkout && run ./compile.sh", so just write me, if you need a specific version...
Re: Where to get older engine dev builds (for bisecting)
It does not work .. says "failed to start correctly 0x00007b" no idea what that is 
But I found some local old builds of 91.x
Commit I seek is between:
689 and 1216

But I found some local old builds of 91.x
Commit I seek is between:
689 and 1216
Re: Where to get older engine dev builds (for bisecting)
88 and 91 are similar in test performance..
But between those 689 and 1216 builds something happens and performance goes to hell (for all future spring builds).

But between those 689 and 1216 builds something happens and performance goes to hell (for all future spring builds).
