IRC Logs for #circuits Thursday, 2015-07-02

y0noprologic, the problem come from processTask, I have not found clean way to update it. I think we juste have to refactor all of the code :D07:23
y0noCurrently the task iterator is not correctly stopped and stopIteration exception is not called each time. That's why the garbage collector doesn't do its job07:24
*** Romster has quit IRC08:15
*** Romster has joined #circuits08:16
*** Osso has joined #circuits09:06
prologicy0no, I agree09:06
prologiccoroutines need to be refactored09:06
prologicthe guys that originally wrote it (not me) did a great job of getting it all working09:07
prologic-but- it's hard code to understand09:07
prologichowever that being said09:07
prologicI *will* fix the memory leak in it's current form09:07
prologicthen we can focus on refactoring it into better more readable code09:07
prologicOsso, got time to help with this memory leak re coroutines/tasks at all?09:07
prologicIssue #5409:07
Ossoah weird09:13
spaceonewoule be nice if that code gets refactored that it is possible to defer the next handler execution if a handler wants to09:16
spaceoneit's a pattern i need09:17
Ossoyes I remember09:20
prologicOsso, be great if you could take a look :)09:22
prologicI've been *trying* but I agree with y0no  and spaceone09:23
prologicthe code for coroutines/tasks needs some refactoring09:23
prologicit's not trivial to understand how it works :)09:23
prologicspaceone, what would that look like from an API perspective?09:23
Ossoto refactor it, the problem is that when we yield we just have a Generator09:25
Ossoso we can’t tell it appart09:25
Ossowithout calling next09:25
Ossofor the memory leak, can this be the cause? # Done here, next() will StopIteration anyway09:26
Ossoshould we call next() and catch the stopiteration?09:26
spaceoneprologic: hm, API → maybe a flag at the handler or event?09:34
Ossois that function really that complicated? there’s 2 main cases09:41
Ossowe got a return value (CallValue) or we got calling a co-routine again inside (GeneratorType)09:42
Ossothe rest is cleanup code to unregister the task when we get StopIteration or exceptions09:42
spaceonewell, it is not that complicated but ask mccabe. Fixing it doesn't require refactoring.09:46
spaceonebtw. what do you think about the idea to replace the state dict by a State class which has __slots__ ?09:47
prologicOsso, yes re StopIteration09:49
prologicI think that looks like it could be the culprit09:49
prologicspaceone, is that any better/faster/easier?09:50
spaceoneprologic: that is my question... it could be faster09:54
spaceoneit probably doesn't really matter11:06
prologicit's probably more redable at least11:21
prologicwe should do it11:21
prologicfile an issue and write up a quick class skeleton11:21
prologic+1 on the __slots__ idea too11:21
spaceonei'll do a PR directly, (hopefully this night)12:28
spaceoneprologic: why is that Dummy() in there?12:54
spaceoneoh. forget it12:55
*** Coldblackice has quit IRC13:34
*** travis-ci has joined #circuits13:38
travis-cicircuits/ (build - 651b935 : James Mills): The build passed.13:38
travis-ciChange view :
travis-ciBuild details :
*** travis-ci has left #circuits ()13:38
*** travis-ci has joined #circuits13:41
travis-cicircuits/ (build - 962d393 : James Mills): The build passed.13:41
travis-ciChange view :
travis-ciBuild details :
*** travis-ci has left #circuits ()13:41
*** Coldblackice has joined #circuits13:43
*** travis-ci has joined #circuits13:48
travis-cicircuits/ (build - 138f986 : James Mills): The build passed.13:48
travis-ciChange view :
travis-ciBuild details :
*** travis-ci has left #circuits ()13:48
*** travis-ci has joined #circuits13:58
travis-cicircuits/ (build - 12feff3 : James Mills): The build passed.13:58
travis-ciChange view :
travis-ciBuild details :
*** travis-ci has left #circuits ()13:58
*** ninkotech has quit IRC14:19
*** Coldblackice has quit IRC15:06
*** Coldblackice has joined #circuits15:07
*** Osso has quit IRC16:15
*** Osso has joined #circuits16:29
*** ninkotech_ has joined #circuits18:08
*** Osso has quit IRC18:36
y0noprologic, nice project :p21:31
prologicheh thanks :)21:35
spaceoneprologic: grr, i did a tab/space mix. can you make a git commit --amend22:54
spaceone 40 »               umask(self.umask)22:54
prologicahh yes sure22:56
prologicfix your editor :)22:56
prologicdone - fixed22:57
spaceonefix pep8 :D22:58
prologicI actually think the PEP8 standard is quite good relaly22:58
prologicbut not everyone agrees :)22:58
spaceoneit is good except the indentation and the line length22:59
spaceoneotherwise it is perfect22:59
*** travis-ci has joined #circuits22:59
travis-cicircuits/circuits#256 (master - 7ad20c3 : SpaceOne): The build has errored.22:59
travis-ciChange view :
travis-ciBuild details :
*** travis-ci has left #circuits ()22:59
prologicwell you can't actually mix tabs and spaces in Python afaik23:00
prologicit breaks the parser23:00
prologicand line lengths is also a godo idea23:00
prologicbut I think it should be a liberal 10023:00
prologicnot 8023:00
prologicor 120 even23:00
prologiclonger lines are just as hard to read as deeply nested code23:00
spaceoneit is harder to read 2 lines than one long line23:03
spaceonei often use long variable names23:03
spaceoneso 100 or 120 seems better23:03
*** travis-ci has joined #circuits23:07
travis-cicircuits/circuits#257 (master - cef4c09 : SpaceOne): The build is still failing.23:08
travis-ciChange view :
travis-ciBuild details :
*** travis-ci has left #circuits ()23:08
prologicspaceone: ping on #100 and #10123:11
y0noprologic, any news on #54 ?23:24
spaceoneprologic: what about #100?23:27
spaceone101 → i can add a comment23:27
prologicy0no: I worked on getting factory and autodock-paas out the door last night23:28
prologicy0no: I'll work on it tonight again and try Osso's suggestion23:28
prologicspaceone: okay to merge #100?23:28
prologicspaceonce: rename chidl to ipc (event name)?23:29
prologicipc() might make more sense23:29
prologicbecause the child can send ipc events back to it's parent too23:29
prologicI've also put together a bit of a demonsration mapreduce dmo too23:29
prologicwhich works nicely23:29
y0noprologic, okay nice :D23:29
spaceoneipc() → this is even badder than child23:30
spaceonei never heard the term 'ipc'23:30
prologicbadder is not a word :P23:32
prologicfeel free to comment on #100 then23:32
prologicI'd like to keep improving this23:32
prologicand get it merged in soon23:32
prologicspaceone, y0no: I'm also trying to converge the overall API(s) / Design of Bridge/Node so that you can go from multi-processing to distributed and vice versa23:33
prologicat least one should be able to ideally ;023:33
spaceonei'll think about it23:35
spaceoneprologic: ipc == Inter-process communication ?23:36
spaceoneclass interprocess_message(Event): pass23:38
prologictoo long :)23:42
prologicI would hate typing that23:42
spaceoneprologic: seems the build passes now23:48
spaceonewas only one missing variable23:49
spaceonehmm. one failed in py323:50

Generated by 2.11.0 by Marius Gedminas - find it at!