IRC logs for #buildstream for Saturday, 2020-06-27

*** benschubert has quit IRC00:33
*** xjuan_ has quit IRC00:36
*** hasebastian has joined #buildstream03:06
*** tristan has quit IRC05:50
*** tristan has joined #buildstream07:22
*** ChanServ sets mode: +o tristan07:22
*** hasebastian has quit IRC08:11
tristangrrrr, /me wants do { ... } while (...) in python09:05
*** benschubert has joined #buildstream09:05
* tristan has a working-so-far refactor of _variables.pyx09:05
tristanminus the proper error reporting and cyclic variable checks09:06
tristanbenschubert, https://gitlab.com/BuildStream/buildstream/-/blob/tristan/partial-variables/src/buildstream/_variables.pyx#L23509:07
tristanVariable resolution without recursion :)09:07
* tristan thinks that he might need deque instead of list for performant 'pop()'09:08
benschuberttristan: oh nice! seems great09:08
benschubertyou might want `extend` instead of for...append too :)09:09
benschuberthave you run any initial benchmarks by any chance?09:09
benschubertit's also quite more readable09:09
tristanBroken down into Variables (the pool), Values (resolvable values), ValueClass (broken down strings in the cache)09:09
tristanNot yet no, I need to get errors working correctly09:09
benschubertok :)09:09
tristanBut I'm pretty sure it will work out well09:09
benschubertI've got the threaded scheduler pass all the tests now too, so i will cleanup, benchmakr and make a WIP MR for comments09:10
tristanStructure and flow is quite similar, maybe a little bit more loopy around ValueClass.parts() and ValueClass.dependencies() though09:10
tristanRight now I've got to restructure that loop though, every time I lookup a variable._values[varname] and handle a KeyError, I need the provenance of the preceding variable to issue the correct error09:11
tristanAnd I'd like to have that expressed with the same code which does the initial lookup on line 24109:12
tristanWhich is why... it would be really handy to have do { ... } while (...) in python right now09:12
tristanMaybe I'll add an ugly boolean for the purpose09:12
benschubertyeah, do-while is something I'm missing :D09:13
*** tristan has quit IRC09:42
*** tristan has joined #buildstream10:20
*** ChanServ sets mode: +o tristan10:20
*** tristan has quit IRC11:21
*** hasebastian has joined #buildstream12:34
*** hasebastian has quit IRC18:33

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!