--- Log opened Thu Jul 01 00:00:12 2010 00:01 <+iant> 6g uses different entry points for different numbers of parameters 00:01 <+iant> gccgo could do that as well 00:02 -!- drry [~drry@unaffiliated/drry] has quit [Read error: Connection reset by peer] 00:03 -!- drry [~drry@unaffiliated/drry] has joined #go-nuts 00:03 -!- Ginto8 [~Ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has quit [Ping timeout: 265 seconds] 00:04 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 265 seconds] 00:05 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 00:05 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 00:42 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit: hcatlin] 00:44 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 252 seconds] 00:45 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 00:49 -!- kanru [~kanru@118-168-235-45.dynamic.hinet.net] has quit [Read error: Operation timed out] 00:52 -!- Nexoro [~nexo@c-71-192-75-183.hsd1.ma.comcast.net] has joined #go-nuts 00:59 -!- bjarneh [~bjarneh@1x-193-157-193-139.uio.no] has left #go-nuts [] 01:00 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 276 seconds] 01:08 -!- perdiy [~perdix@sxemacs/devel/perdix] has joined #go-nuts 01:10 -!- perdix [~perdix@sxemacs/devel/perdix] has quit [Ping timeout: 265 seconds] 01:11 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 01:13 -!- dforsyth [~dforsyth@pool-71-241-253-141.washdc.fios.verizon.net] has quit [Quit: leaving] 01:17 < plexdev> http://is.gd/daGCw by [Russ Cox] in 2 subdirs of go/src/pkg/ -- bytes, strings: add Replace 01:31 -!- smw [~smw@pool-71-183-88-124.nycmny.fios.verizon.net] has quit [Ping timeout: 265 seconds] 01:37 -!- esiroker [~esiroker@208.80.64.159] has quit [Quit: esiroker] 01:45 -!- perdix [~perdix@sxemacs/devel/perdix] has quit [Remote host closed the connection] 01:59 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has joined #go-nuts 02:00 -!- jhawk28 [~jhawk28@64.134.65.30] has quit [Remote host closed the connection] 02:11 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 240 seconds] 02:13 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 02:31 -!- travisbrady [~tbrady@c-98-210-152-182.hsd1.ca.comcast.net] has joined #go-nuts 02:35 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 240 seconds] 02:40 -!- adu [~ajr@pool-71-191-173-125.washdc.fios.verizon.net] has joined #go-nuts 02:40 -!- bjarneh [~bjarneh@135.80-203-19.nextgentel.com] has joined #go-nuts 02:40 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 02:44 -!- wells_kevin [~wells_kev@203.109.248.226] has joined #go-nuts 02:53 -!- wells_kevin [~wells_kev@203.109.248.226] has left #go-nuts [] 02:56 -!- Venom_X [~pjacobs@71.21.124.111] has joined #go-nuts 02:56 -!- Venom_X [~pjacobs@71.21.124.111] has quit [Client Quit] 03:00 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 260 seconds] 03:04 < plexdev> http://is.gd/daM52 by [Daniel Fleischman] in go/src/pkg/template/ -- template: fix typo in doc comment 03:26 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 240 seconds] 03:28 -!- Chinainvent [~chinainve@121.0.29.199] has joined #go-nuts 03:34 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 03:36 < plexdev> http://is.gd/daNG9 by [Russ Cox] in go/src/cmd/gc/ -- gc: do not crash on bad [...]T 03:39 -!- Nexoro [~nexo@c-71-192-75-183.hsd1.ma.comcast.net] has left #go-nuts [] 03:52 < plexdev> http://is.gd/daOzo by [Russ Cox] in 2 subdirs of go/ -- 8g: out of register bug fix 04:03 -!- Xurix [~Luixsia@AToulouse-254-1-6-162.w83-203.abo.wanadoo.fr] has joined #go-nuts 04:09 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 04:09 -!- mode/#go-nuts [+v iant] by ChanServ 04:14 -!- bmizeran_ [~bmizerany@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit [Remote host closed the connection] 04:20 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts 04:31 -!- niemeyer [~niemeyer@201-11-242-47.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 265 seconds] 04:33 -!- drhodes_ [~none@209-20-72-61.slicehost.net] has left #go-nuts [] 04:34 -!- drhodes [~none@209-20-72-61.slicehost.net] has joined #go-nuts 04:35 -!- bmizerany [~bmizerany@c-24-6-37-113.hsd1.ca.comcast.net] has joined #go-nuts 04:43 -!- travisbrady [~tbrady@c-98-210-152-182.hsd1.ca.comcast.net] has quit [Quit: travisbrady] 04:59 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 260 seconds] 05:00 -!- scm [justme@d071015.adsl.hansenet.de] has quit [Ping timeout: 276 seconds] 05:01 -!- scm [justme@d019117.adsl.hansenet.de] has joined #go-nuts 05:07 -!- LionMadeOfLions [~LionMadeO@70.114.156.242] has quit [Ping timeout: 240 seconds] 05:20 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 05:20 -!- mode/#go-nuts [+v iant] by ChanServ 05:21 -!- LionMadeOfLions [~LionMadeO@70.114.156.242] has joined #go-nuts 05:22 -!- smw [~smw@pool-71-183-88-124.nycmny.fios.verizon.net] has joined #go-nuts 05:27 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 260 seconds] 05:33 -!- tgall_foo [~tgall@gentoo/developer/dr-who] has quit [Quit: Leaving] 05:39 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has joined #go-nuts 05:40 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Operation timed out] 05:47 -!- path[l] [UPP@120.138.102.50] has joined #go-nuts 05:50 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 252 seconds] 05:50 -!- lux` [~lux@151.95.174.16] has joined #go-nuts 05:57 -!- dforsyth [~dforsyth@pool-71-241-253-218.washdc.fios.verizon.net] has joined #go-nuts 06:01 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 06:05 -!- iant [~iant@216.239.45.130] has joined #go-nuts 06:05 -!- mode/#go-nuts [+v iant] by ChanServ 06:06 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Ping timeout: 265 seconds] 06:19 -!- Chinainvent [~chinainve@121.0.29.199] has quit [Quit: Leaving] 06:22 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit: slashus2] 06:25 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 06:28 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 245 seconds] 06:33 -!- Project_2501 [~Marvin@82.84.94.195] has joined #go-nuts 06:38 -!- jackman [~jackman@c-24-21-216-140.hsd1.or.comcast.net] has quit [Quit: leaving] 06:40 < plexdev> http://is.gd/daXiy by [Russ Cox] in 6 subdirs of go/src/ -- cgo: use slash-free relative paths for .so references 06:40 < plexdev> http://is.gd/daXiD by [Russ Cox] in go/ -- A+C: add Gustavo Niemeyer (individual CLA) 06:40 < plexdev> http://is.gd/daXiM by [Gustavo Niemeyer] in go/src/cmd/goinstall/ -- goinstall: support for Bazaar+Launchpad 06:40 < plexdev> http://is.gd/daXj9 by [Russ Cox] in go/lib/codereview/ -- codereview: allow multiple email addresses in CONTRIBUTORS 06:40 < plexdev> http://is.gd/daXjl by [Russ Cox] in go/test/ -- test: override gcc bug when preparing complex divide tables 06:40 < plexdev> http://is.gd/daXjv by [Charles L. Dorian] in go/src/pkg/cmath/ -- cmath: correct IsNaN for argument cmplx(Inf, NaN) 06:44 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 06:48 -!- dforsyth [~dforsyth@pool-71-241-253-218.washdc.fios.verizon.net] has quit [Quit: leaving] 06:56 -!- lux` [~lux@151.95.174.16] has quit [Remote host closed the connection] 06:58 -!- Netsplit *.net <-> *.split quits: nimmen, chaos95, felipe, jb55 07:00 -!- Netsplit over, joins: felipe, chaos95, jb55, nimmen 07:01 -!- felipe [~felipe@my.nada.kth.se] has quit [Max SendQ exceeded] 07:02 -!- Rondell [~JoLeClodo@vian.wallinfire.net] has joined #go-nuts 07:02 -!- JoLeClodo2 [~JoLeClodo@vian.wallinfire.net] has quit [Ping timeout: 265 seconds] 07:04 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 265 seconds] 07:04 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has quit [Quit: KVIrc Insomnia 4.0.0, revision: 4519, sources date: 20100519, built on: 2010-06-24 07:22:03 UTC http://www.kvirc.net/] 07:07 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: I ♥ Unicode] 07:13 -!- ampleyfly [~ampleyfly@h-148-139.A163.priv.bahnhof.se] has quit [Ping timeout: 260 seconds] 07:14 -!- ampleyfly [~ampleyfly@h-148-139.A163.priv.bahnhof.se] has joined #go-nuts 07:18 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 07:29 -!- ita [~waf@kde/developer/tnagy] has joined #go-nuts 07:29 < ita> hi there 07:32 -!- photron [~photron@port-92-201-60-224.dynamic.qsc.de] has joined #go-nuts 07:34 < bjarneh> ita: hi 07:35 -!- aho [~nya@f051144092.adsl.alicedsl.de] has joined #go-nuts 07:38 -!- Chryson [~Chryson@c-71-61-11-114.hsd1.pa.comcast.net] has quit [Quit: Leaving] 07:38 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 07:47 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 07:47 < ita> nsf: looks like the cgo problem is gone 07:51 -!- wrtp [~rog@92.17.27.172] has joined #go-nuts 07:52 -!- felipe [~felipe@my.nada.kth.se] has joined #go-nuts 08:07 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts 08:07 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds] 08:08 -!- path[l] [UPP@120.138.102.50] has quit [Quit: path[l]] 08:11 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has joined #go-nuts 08:13 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined #go-nuts 08:19 -!- Surma [~bzfsurma@gooseberry.zib.de] has joined #go-nuts 08:22 -!- MizardX [~MizardX@unaffiliated/mizardx] has joined #go-nuts 08:23 -!- Macpunk [~macpunk@cpe-72-177-26-221.austin.res.rr.com] has joined #go-nuts 08:27 -!- ikaros [~ikaros@g226215002.adsl.alicedsl.de] has joined #go-nuts 08:31 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has joined #go-nuts 08:34 -!- bjarneh [~bjarneh@135.80-203-19.nextgentel.com] has left #go-nuts [] 08:37 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 08:46 -!- lux` [~lux@151.95.174.16] has joined #go-nuts 08:54 -!- wrtp [~rog@92.17.27.172] has quit [Quit: wrtp] 08:55 -!- wrtp [~rog@92.17.27.172] has joined #go-nuts 09:07 -!- Surma [~bzfsurma@gooseberry.zib.de] has quit [Quit: Leaving.] 09:14 -!- bmizerany [~bmizerany@c-24-6-37-113.hsd1.ca.comcast.net] has quit [Ping timeout: 265 seconds] 09:19 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 09:27 -!- Surma [~bzfsurma@gooseberry.zib.de] has joined #go-nuts 09:37 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has quit [Quit: Morten. Desu~] 09:39 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has joined #go-nuts 09:43 -!- wrtp [~rog@92.17.27.172] has quit [Read error: Connection reset by peer] 09:43 -!- wrtp [~rog@92.17.27.172] has joined #go-nuts 09:45 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 09:47 -!- tav [~tav@2001:0:53aa:64c:0:3ffb:a60d:de8c] has quit [Quit: tav] 09:52 -!- ikaros [~ikaros@g226215002.adsl.alicedsl.de] has quit [Quit: Leave the magic to Houdini] 09:52 -!- jdp [~gu@24.238.32.162.res-cmts.segr.ptd.net] has quit [] 09:55 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 10:01 -!- njw_ [~nick@cswt5769.admin.susx.ac.uk] has joined #go-nuts 10:10 -!- path[l] [~path@59.162.86.164] has quit [Remote host closed the connection] 10:10 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 10:18 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 10:22 -!- Fish-Work [~Fish@86.65.182.207] has quit [Remote host closed the connection] 10:25 -!- Macpunk [~macpunk@cpe-72-177-26-221.austin.res.rr.com] has quit [Quit: Leaving] 10:29 -!- Shyde [~Shyde^^@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has joined #go-nuts 10:36 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 10:42 -!- perdix [~perdix@sxemacs/devel/perdix] has joined #go-nuts 10:44 -!- wrtp [~rog@92.17.27.172] has quit [Read error: Connection reset by peer] 10:45 -!- wrtp [~rog@92.17.27.172] has joined #go-nuts 10:50 -!- soul9 [~none@unaffiliated/johnnybuoy] has joined #go-nuts 10:53 -!- path[l]_ [~path@59.162.86.164] has joined #go-nuts 10:57 -!- path[l] [~path@59.162.86.164] has quit [Ping timeout: 265 seconds] 10:58 -!- wrtp [~rog@92.17.27.172] has quit [Read error: Connection reset by peer] 10:58 -!- wrtp [~rog@92.17.27.172] has joined #go-nuts 11:03 -!- redberry [~reddy@151.58.0.157] has joined #go-nuts 11:04 -!- redberry [~reddy@151.58.0.157] has quit [Client Quit] 11:05 -!- redberry [~reddy@151.58.0.157] has joined #go-nuts 11:16 -!- visof [~visof@unaffiliated/visof] has quit [Quit: Leaving] 11:21 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 11:30 -!- mxweas [~max@c-98-225-102-170.hsd1.az.comcast.net] has joined #go-nuts 11:35 -!- adu [~ajr@pool-71-191-173-125.washdc.fios.verizon.net] has quit [Quit: adu] 11:36 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has quit [Quit: Coyote finally caught me] 11:36 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has joined #go-nuts 11:37 -!- Fish-Work [~Fish@86.65.182.207] has joined #go-nuts 11:42 -!- artefon [~thiago@189.107.141.89] has joined #go-nuts 11:51 -!- mxweas [~max@c-98-225-102-170.hsd1.az.comcast.net] has quit [Quit: mxweas] 11:58 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined #go-nuts 12:18 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 240 seconds] 12:31 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 12:33 < nsf> ita: good :) 12:33 < ita> nsf: i have added an example if you are curious 12:33 < nsf> I'll take a look 12:34 < ita> http://code.google.com/p/waf/source/browse/branches/waf-1.6/demos/go/wscript#46 12:34 < ita> nsf: there is another issue btw .. please add stars on it http://code.google.com/p/go/issues/detail?id=533 12:35 < nsf> ok :) 12:39 -!- tgall_foo [~tgall@gentoo/developer/dr-who] has joined #go-nuts 12:41 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 240 seconds] 12:42 -!- ikaros [~ikaros@e180234108.adsl.alicedsl.de] has joined #go-nuts 12:59 -!- niemeyer [~niemeyer@201-11-242-47.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 13:09 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 13:10 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 13:24 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 265 seconds] 13:42 -!- mbarkhau [~koloss@dslb-084-059-163-201.pools.arcor-ip.net] has joined #go-nuts 13:46 -!- Surma [~bzfsurma@gooseberry.zib.de] has quit [Quit: Leaving.] 13:52 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.2] 14:00 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Ping timeout: 264 seconds] 14:10 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 14:18 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has quit [Quit: Morten. Desu~] 14:23 -!- redberry [~reddy@151.58.0.157] has quit [Quit: redberry flies...and go away....] 14:23 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by services] 14:24 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 14:24 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 14:31 -!- gr0gmint [~joebiden@87.60.23.38] has joined #go-nuts 14:32 -!- kanru [~kanru@118-168-235-45.dynamic.hinet.net] has joined #go-nuts 14:41 -!- Fish-Work [~Fish@86.65.182.207] has quit [Read error: Connection reset by peer] 14:41 -!- Fish-Work [~Fish@86.65.182.207] has joined #go-nuts 14:42 -!- artefon [~thiago@189.107.141.89] has quit [Quit: bye] 14:43 -!- gr0gmint [~joebiden@87.60.23.38] has quit [Ping timeout: 264 seconds] 14:44 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 240 seconds] 14:50 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts 14:58 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts 15:00 -!- gnuvince [~vince@70.35.169.23] has quit [Ping timeout: 265 seconds] 15:02 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 15:11 -!- crashR [~crasher@codextreme.pck.nerim.net] has quit [Quit: (◣_◢) BigBrowser is watching ⓎⓄⓊ] 15:19 -!- njw_ [~nick@cswt5769.admin.susx.ac.uk] has left #go-nuts [] 15:19 -!- njw_ [~nick@cswt5769.admin.susx.ac.uk] has joined #go-nuts 15:20 -!- lux` [~lux@151.95.174.16] has quit [Ping timeout: 260 seconds] 15:23 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 240 seconds] 15:27 -!- ender2070 [~ender2070@bas5-hamilton14-1279278974.dsl.bell.ca] has joined #go-nuts 15:29 -!- Soultaker [~maks@hell.student.utwente.nl] has joined #go-nuts 15:32 -!- lux` [~lux@151.95.183.252] has joined #go-nuts 15:38 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 15:39 -!- artefon [~thiagon@150.164.2.20] has joined #go-nuts 15:45 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 15:45 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 15:49 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts 15:54 -!- Nexoro [~nexo@c-71-192-75-183.hsd1.ma.comcast.net] has joined #go-nuts 15:57 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Read error: Connection reset by peer] 15:57 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts 15:58 -!- petrux_ [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has joined #go-nuts 15:59 -!- petrux_ [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has quit [Client Quit] 15:59 -!- Wiz126 [~Wiz126@24.229.245.72.res-cmts.sm.ptd.net] has quit [Ping timeout: 260 seconds] 16:02 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has quit [Ping timeout: 260 seconds] 16:05 -!- Wiz126 [~Wiz126@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts 16:15 -!- njw_ [~nick@cswt5769.admin.susx.ac.uk] has quit [Quit: leaving] 16:29 -!- Open_Space [~ja@109.93.156.215] has joined #go-nuts 16:30 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has joined #go-nuts 16:31 -!- OpenSpace [~ja@109.92.227.172] has quit [Ping timeout: 265 seconds] 16:32 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 16:32 -!- kanru [~kanru@118-168-235-45.dynamic.hinet.net] has quit [Ping timeout: 248 seconds] 16:44 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has joined #go-nuts 16:44 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts 16:47 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 16:47 -!- Shyde [~Shyde^^@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has quit [Quit: Shyde] 16:50 -!- wrtp [~rog@92.17.27.172] has quit [Read error: Operation timed out] 16:51 -!- dforsyth [~dforsyth@pool-71-241-253-43.washdc.fios.verizon.net] has joined #go-nuts 16:51 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 16:57 -!- wrtp [~rog@92.17.27.172] has joined #go-nuts 16:58 -!- ender2070 [~ender2070@bas5-hamilton14-1279278974.dsl.bell.ca] has quit [Remote host closed the connection] 17:00 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 17:01 -!- path[l] [~path@122.182.0.38] has joined #go-nuts 17:03 < cw> iant: i wsa going to start to resync libgo to current mainline ... is that going to conflict with stuff you have in fight? 17:06 -!- wrtp [~rog@92.17.27.172] has quit [Quit: wrtp] 17:16 -!- path[l] [~path@122.182.0.38] has quit [Quit: path[l]] 17:20 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 17:27 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 17:28 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 17:29 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 17:31 <+iant> cw: yeah, I'm working on that 17:31 <+iant> it's almost ready 17:31 <+iant> thanks, though 17:35 -!- OpenSpace [~ja@109.93.156.215] has quit [Ping timeout: 260 seconds] 17:36 < cw> iant: ok, i was in the process of just taking diffs of pkgs and folding in the bits that were different 17:37 <+iant> for future reference, libgo/merge.sh will do that part for you 17:38 < cw> ah, it does the hg add/rm magic ... cute 17:39 -!- ita [~waf@kde/developer/tnagy] has left #go-nuts ["Konversation terminated!"] 17:40 < cw> iant: btw, wrt to gc & stopping all threads ... there needs to be some timer that runs when 'num_runnable' > GOMAXPROCS to preempt those 17:40 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 17:40 < cw> iant: but it should only run when needed or else for mostly idle processes we get wasted wakeups 17:40 <+iant> for the gc compiler? 17:41 < cw> for both runtimes 17:41 <+iant> the gccgo runtime doesn't currently have anything like GOMAXPROCS 17:41 < cw> im speaking generically 17:41 <+iant> for the gc runtime, I think you just have to check whether gc is in progress when returning from a syscall 17:41 <+iant> I guess I'm not sure why a timer is needed 17:42 < cw> iant: consider a heavy math sim ... where goroutines can run for many seconds, no syscalls, no runtime invocation 17:43 <+iant> oh, yeah, that is sort of a general scheduler problem 17:43 < cw> if there are more of those than 'GOMAXPROCS' (ie. schedulable entitires from the OS PoV) then they run until completion and everything else blocks 17:43 <+iant> yes 17:43 < cw> so if we have a deficit we need some sort of time ugly 17:46 -!- leadnose [leadnose@xob.kapsi.fi] has joined #go-nuts 17:47 -!- path[l] [~path@122.182.0.38] has joined #go-nuts 17:52 -!- Fish [~Fish@9fans.fr] has quit [Ping timeout: 240 seconds] 17:54 -!- path[l] [~path@122.182.0.38] has quit [Quit: path[l]] 17:58 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 17:59 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has quit [Quit: Morten. Desu~] 18:01 -!- path[l] [~path@122.182.0.38] has joined #go-nuts 18:06 -!- path[l] [~path@122.182.0.38] has quit [Ping timeout: 252 seconds] 18:06 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts 18:08 -!- ender2070 [~ender2070@bas5-hamilton14-1279278974.dsl.bell.ca] has joined #go-nuts 18:12 < cw> iant: is there any reason to suspect the line info for gccgo -O2 is remotely usable? 18:12 < cw> iant: i get weird output from objdump -S -d 18:12 <+iant> it's usable in the debugger 18:13 <+iant> lines appear out of order 18:13 <+iant> depending on the execution flow 18:13 <+iant> objdump -S will give weird results, yes 18:13 <+iant> objdump -l wil be more usable 18:13 <+iant> the line number info for gccgo -O2 is pretty much the same as for gcc -O2 18:16 -!- Shyde [~Shyde^^@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has joined #go-nuts 18:19 -!- TR2N [email@89.180.194.196] has joined #go-nuts 18:20 -!- path[l] [UPP@120.138.102.50] has joined #go-nuts 18:24 -!- Ginto8 [~Ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has joined #go-nuts 18:25 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 18:27 * nsf tries to build gccgo 18:27 < nsf> --enable-languages=c,c++,go 18:27 < nsf> is c++ necessary here? 18:29 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 260 seconds] 18:29 * nsf lurks logs 18:29 < nsf> oh, I see 18:29 < nsf> question answered :) 18:33 < ender2070> is gccgo in gcc 4.5? 18:33 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 18:33 < nsf> I think not 18:33 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 276 seconds] 18:33 < nsf> it's in a separate branch 18:34 < nsf> obviously, because gccgo isn't complete (no garbage collection for example) 18:37 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 18:38 < ender2070> hmm 18:38 < ender2070> that's not very useful then 18:38 < nsf> yes 18:38 < bartbes> so is there a way to manually free stuff? 18:39 < nsf> most likely, yes 18:39 < nsf> but again, obviously, it's not the way to do it, garbage collector will be implemented sooner or later 18:40 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit: Leaving] 18:40 < bartbes> so, is gccgo more portable? 18:40 < nsf> maybe :) and maybe not 18:40 < ender2070> doesn't sound like it 18:40 < bartbes> if not, then what's the use? 18:41 < nsf> I don't know, ask iant when he'll be back 18:41 < jer> it's the whole GNU "NIH" philosophy 18:41 < nsf> he is the developer 18:41 < jer> happens with lots of things 18:41 < ender2070> im sure it will be great though eventually 18:41 < nsf> well there might be reasons 18:41 < nsf> for example gccgo will not have cgo hack 18:41 < jessta> bartbes: it's fine for short running applications 18:41 < nsf> (which is ugly) 18:42 < bartbes> nsf: oh right, it will link against anything gcc 18:42 < nsf> also shared libraries support, afaik it has them already, but I'm not sure 18:43 < bartbes> well, all packages are built as static libs 18:43 < nsf> gc compilers will have them most likely too, though 18:43 < cw> gccgo gc requires things that aren't implemented yet 18:43 < cw> s/gc/GC/ 18:43 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Ping timeout: 276 seconds] 18:43 < cw> gccgo otherwise mostly works pretty well at this point 18:45 < cw> for some applications you can work around the lack of a GC by using a pool/bucket of buffers, in fact that makes sense often for 6g/8g compiled code 18:45 * nsf is interested in fast cgo calls and more code generator optimizations 18:45 < nsf> well, should I say "cgo calls" I mean bindings calls in general, gccgo doesn't have cgo 18:46 < cw> at this stage im not seeing that 'better code' from gccgo make much different to 6g 18:47 < cw> sorry... s/different/difference/ 18:48 < nsf> well, I'll compare.. I've made simple plain math tests (like vector operations) in Go and C++, C++ performs 3-4 times faster, but -O0 version of C++ code in both gcc and clang performs roughly the same as Go 18:48 < cw> for math i bet 6g wins 18:48 < nsf> so.. maybe it's a matter of code generation 18:48 < cw> because charles has done a lot of little asm stubs ... and those are lacking for gccgo 18:49 < cw> gccgo could be taught about those intrinsics over time and do very well though 18:49 -!- smw [~smw@pool-71-183-88-124.nycmny.fios.verizon.net] has quit [Ping timeout: 265 seconds] 18:50 -!- Shyde [~Shyde^^@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection] 18:50 < cw> nsf: ok, so something i do see here .. -O3 will inline some functions entirely 18:51 < nsf> and that's a good thing, inlining is important :) 18:51 < cw> depends 18:52 < cw> if it's not critical path code but called from many places, you don't want it inlined 18:52 < nsf> I'm talking about math of course 18:52 < nsf> it has a lot of functions that meant to be inlined 18:52 < cw> even so, it depends 18:52 < cw> l1 icache isn't very large 18:52 < nsf> ok, I do 3d math, software rendering let's say 18:52 < nsf> :) 18:53 < nsf> I agree, it depends, but inlining is important to me 18:53 < cw> i tried to optimize some code for some 3d stuff recently ... and someone did a small cuda 'port' of this 18:53 < cw> i have to say, for the small amount of effort they put into it the results made we want to cry 18:55 < nsf> GPUs are amazing, yes, but not everything can be easily implemented there 18:57 < nsf> also, being able to run C code really fast from Go is another reason to consider gccgo 18:57 < cw> of course, many things can't .... i just wanted to believe that x86 was going to be close though 18:57 < cw> (it's not in this case) 18:57 < jer> i'd like the computers of tomorrow to come with a built in fpga 18:57 < cw> fpga's are slow for many things 18:58 < jer> yes for many things 18:58 < Ginto8> nsf, cgo runs it slowly? 18:58 < jer> not for all things 18:58 < cw> you can get fpga boards on pci/pci-e for playing with pretty cheap bte 18:58 < cw> btw 18:58 < nsf> Ginto8: it depends :) 18:58 < Ginto8> hm 18:58 < jer> cw, pretty cheap? i don't consider $800+ for small logic unit counts cheap 18:59 < cw> jer: half that or less.... if you can use pci some of them aren't more than $100 or so 18:59 -!- esiroker [~esiroker@adsl-99-49-227-57.dsl.pltn13.sbcglobal.net] has joined #go-nuts 18:59 < cw> when i get home ill look over some of the stuff i have and try to find references for the cheaper ones if you like 18:59 < jer> cw, link me 19:00 < nsf> Ginto8: gotris which uses plain glBegin glEnd calls eats 4-5% CPU, but I have another example written in C++: it has particle system that draws itself the same way (glBegin glEnd) and there are far more GL calls than in gotris 19:00 < nsf> and this example stays in 0-1% CPU 19:01 < nsf> so, I can't say they are very cheap, but they aren't slow either 19:02 < nsf> in the ML there were talks about it 19:02 -!- GeoBSD [~geobsd@lns-bzn-53-82-65-15-22.adsl.proxad.net] has joined #go-nuts 19:02 < nsf> overhead for cgo function call is 40 times bigger than regular function call 19:02 < nsf> 5ns vs 200ns 19:02 < bartbes> ouch 19:03 < cw> nsf: nsf glBegin/glEnd are slow everywhere (relatively speaking) 19:03 < cw> opengl es took them out 19:03 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has joined #go-nuts 19:03 < nsf> cw: yes, but this is a good way to test cgo performance 19:03 < cw> nsf: dont use them, support newer interfaces ... you can more easily port code to consoles, phones, etc 19:03 < nsf> oh, please, don't teach me opengl :) 19:04 < cw> i dont see it as a useful test 19:04 < Ginto8> nsf, wouldn't that overhead be expected from a plan 9 compiler trying to dynamically interface with a library compiled by gcc? 19:04 < nsf> it is just a real world example that uses a lot of cgo calls, and that's it 19:05 < nsf> Ginto8: part of it yes, and other part is a scheduler maintainance probably 19:05 < Ginto8> hm ok 19:05 < Ginto8> syncing C with goroutines WOULD be a bit difficult 19:05 < nsf> maybe it will be better with another scheduler 19:06 < nsf> I don't know 19:06 < Ginto8> well the scheduler isn't top-notch yet either 19:06 < Ginto8> they're still working on it, just like the gc 19:06 < nsf> I hope they are 19:07 < Ginto8> well go in general is still a WIP so they're looking for any way to improve it and make its performance more comparable to C 19:07 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has joined #go-nuts 19:07 < nsf> I do understand that :) 19:07 < Ginto8> though that's a little difficult to do while still maintaining split-second compile times =P 19:08 < cw> Ginto8: compile times are really good ... i can build from scratch the entire go eco system in 8.1s 19:08 < cw> that's the c compiler, linker, libs, go compiler, go runtime, etc 19:10 < Ginto8> yeah I know 19:10 < Ginto8> but I have yet to write enough go code for it to take longer than about half a second to compile 19:11 < nsf> and most of this time is linking :) 19:11 < nsf> compiler itself is really fast 19:11 < Ginto8> compiler itself is like speed racer on crack =P 19:12 < cw> nsf: oddly i find the extra-speed i get from ld makes gccgo comparable in some use cases 19:12 < cw> gccgo is slower to compiler but 6l slower to link 19:12 < nsf> have you tried gold? :) 19:12 < nsf> it should be even more faster 19:13 < cw> no, let me find the repo and for it 19:14 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout: 624 seconds] 19:15 < cw> nsf: f.e. gccgo memlat -> 119ms vs 6g + 6l -> 141ms 19:15 < nsf> hehe 19:16 < nsf> well, it basically means that I was right, linker takes most of the time 19:17 < cw> 90ms vs 15ms 19:17 < cw> (ie. 90ms for gccgo -c ) 19:17 < nsf> apparently 6l is very slow :( 19:18 -!- tav [~tav@2001:0:53aa:64c:0:3ffb:a60d:de8c] has joined #go-nuts 19:18 < nsf> sysinfo.go:2187:358: error: use of undefined type ‘__fpstate’ 19:19 < nsf> gccgo dies with that error, while building the runtime :( 19:19 -!- aho [~nya@f051144092.adsl.alicedsl.de] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 19:23 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 19:27 -!- snearch [~snearch@f053001129.adsl.alicedsl.de] has joined #go-nuts 19:28 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts 19:29 -!- artefon [~thiagon@150.164.2.20] has quit [Quit: Leaving] 19:29 < plexdev> http://is.gd/dbJ1t by [Russ Cox] in go/src/cmd/6l/ -- 6l: implement MOVLQZX as "mov", not "movsxd" 19:31 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Excess Flood] 19:35 -!- Nexoro [~nexo@c-71-192-75-183.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 19:41 -!- tav [~tav@2001:0:53aa:64c:0:3ffb:a60d:de8c] has quit [Ping timeout: 240 seconds] 19:43 -!- tav [~tav@2001:0:53aa:64c:0:3ffb:a60d:de8c] has joined #go-nuts 19:46 < plexdev> http://is.gd/dbK1i by [Russ Cox] in 2 subdirs of go/src/ -- 6a: assemble CMPPD as 6l expects 19:48 -!- MizardX- [~MizardX@unaffiliated/mizardx] has joined #go-nuts 19:51 -!- ender2070 [~ender2070@bas5-hamilton14-1279278974.dsl.bell.ca] has quit [Remote host closed the connection] 19:52 -!- MizardX [~MizardX@unaffiliated/mizardx] has quit [Ping timeout: 276 seconds] 19:54 -!- tav_ [~tav@2001:0:53aa:64c:0:3ffb:a60d:de8c] has joined #go-nuts 19:55 -!- tav [~tav@2001:0:53aa:64c:0:3ffb:a60d:de8c] has quit [Ping timeout: 252 seconds] 19:56 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts 19:57 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined #go-nuts 20:01 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has left #go-nuts [] 20:01 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: LeNsTR] 20:03 < plexdev> http://is.gd/dbKYf by [Russ Cox] in go/src/cmd/6l/ -- 6l: drop confusing comment 20:03 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts 20:05 -!- franksalim [~frank@adsl-75-61-93-123.dsl.pltn13.sbcglobal.net] has joined #go-nuts 20:21 -!- bmizerany [~bmizerany@dsl081-064-072.sfo1.dsl.speakeasy.net] has joined #go-nuts 20:27 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has quit [Quit: Shyde] 20:28 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: LeNsTR] 20:28 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has quit [Quit: KVIrc Insomnia 4.0.0, revision: 4519, sources date: 20100519, built on: 2010-06-24 07:22:03 UTC http://www.kvirc.net/] 20:40 -!- snearch [~snearch@f053001129.adsl.alicedsl.de] has quit [Quit: Verlassend] 20:40 -!- Macpunk [~macpunk@cpe-72-177-26-221.austin.res.rr.com] has joined #go-nuts 20:46 -!- iant [~iant@216.239.45.130] has joined #go-nuts 20:46 -!- mode/#go-nuts [+v iant] by ChanServ 20:48 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit: hcatlin] 21:01 < nsf> question: if a go program was started with GOMAXPROCS=1 and it has two goroutines that basically do not block (buffered channels everywhere and result, ok := <-channel form of receive), what is the expected behaviour of that kind of program? 21:02 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 21:03 < KirkMcDonald> I would expect them to be scheduled more or less fairly. 21:03 <+iant> I don't think they will be, though 21:03 <+iant> if a goroutine never blocks at all then it will just keep running 21:03 < KirkMcDonald> Ah. 21:03 <+iant> with the current 6g scheduler 21:03 < nsf> I see 21:06 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection] 21:08 < nsf> An interesting property to be aware of :) 21:11 < bartbes> right, you need some specific api calls (like sleep) to allow the goroutine to yield 21:11 < bartbes> I guess 21:12 * cinghialino quits in 300 seconds 21:12 < nsf> there is runtime.Gosched() 21:12 < nsf> which is supposed to be a "yield" as far as I understand 21:12 <+iant> yes 21:12 < bartbes> ah right, I knew there was a function for it 21:12 < bartbes> that was it 21:13 < nsf> the problem is, if a have lot of goroutines I can't guarantee that one of them will keep running 21:13 < bartbes> will or won't? 21:13 <+iant> runtime.Gosched does no harm if it is called by the only running goroutine 21:13 < nsf> will 21:14 < bartbes> why do you want 1 to keep running? 21:14 -!- dforsyth [~dforsyth@pool-71-241-253-43.washdc.fios.verizon.net] has quit [Read error: Connection reset by peer] 21:14 -!- dforsyth [~dforsyth@pool-71-241-253-43.washdc.fios.verizon.net] has joined #go-nuts 21:14 < nsf> um.. because it's important sometimes :) 21:15 < nsf> for example I have an OpenGL based GUI and I want that goroutine to be alive all the time 21:15 < nsf> in a separate thread 21:15 < bartbes> hmm 21:15 < nsf> I can lock it in a thread using LockOSThread, but it won't prevent it from giving its resources to other goroutines as well 21:16 < bartbes> but isn't the purpose of the scheduler to make a goroutine work as soon as it's needed? 21:16 < nsf> well if I have let's say GOMAXPROCS=8 21:16 < nsf> there are 7 other threads to do that job 21:16 -!- cinghialino [~Marvin@82.84.94.195] has quit [Quit: E se abbasso questa leva che succ...] 21:17 < nsf> imho the scheduler should give more control on the layer of system threads 21:17 < nsf> not just goroutines 21:17 < nsf> but I'm pretty aware that the current one is quite simple 21:18 < nsf> so, maybe someday it will have such features 21:18 < nsf> actually what the key point of my thoughts is preemptive vs. cooperative 21:18 < nsf> OS threads are preemptive 21:18 < nsf> goroutines are cooperative 21:19 < bartbes> I know what you mean and why you want it 21:19 < bartbes> but yeah.. 21:19 < nsf> I need a preemptive primitive 21:19 < nsf> :) 21:20 < plexdev> http://is.gd/dbPFa by [Rob Pike] in 19 subdirs of go/src/ -- strings and bytes.Split: make count of 0 mean 0, not infinite. 21:20 < bartbes> lockosthread is what you need 21:20 < nsf> not exactly 21:20 < bartbes> nsf: "Until the calling goroutine exits or calls UnlockOSThread, it will always execute in that thread, and no other goroutine can." 21:20 < bartbes> the last part is exactly what you need 21:20 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined #go-nuts 21:21 < nsf> it locks one goroutine in a thread, but it doesn't prevent other goroutines from running in this thread too 21:21 <+iant> actually it does 21:21 < bartbes> read the last part again 21:21 < nsf> basically it says: I guarantee that his goroutine will be exectued in that thread only 21:21 <+iant> at least in the current scheduler 21:21 < nsf> hm.. 21:21 < nsf> interestring then 21:21 < bartbes> "and no other goroutine can" 21:21 < bartbes> so there you go 21:21 <+iant> it goes both ways: the goroutine will only run in the thread, and the thread will only run that goroutine 21:21 < nsf> because it doesn't feel that way 21:22 < bartbes> btw, I thought goroutines weren't necessarily in threads 21:22 <+iant> goroutines are multiplexed onto OS threads 21:22 < bartbes> I remember reading something about it being able to run in just about everything 21:23 <+iant> that is true, the threads model is only applicable when running on a normal OS 21:23 < nsf> here is the thing 21:23 < nsf> I have an example, that has two goroutines, one is supposed to be drawing things in background and the other is showing this stuff using opengl 21:23 < bartbes> so, lockosthread, is that a good name then? 21:23 < nsf> the one that uses OpenGL is locked to a current thread 21:24 < nsf> but happens exactly the opposite 21:24 <+iant> bartbes: on a system without threads, LockOsThread doesn't do anything useful 21:24 < bartbes> that sucks.. 21:24 < nsf> while background goroutine isn't finished, opengl is blocked 21:24 <+iant> what should it do? 21:24 < nsf> with GOMAXPROCS=1 21:24 < bartbes> well, I don't know, provide something similar 21:24 <+iant> nsf: sounds like you need GOMAXPROCS=2 21:24 <+iant> bartbes: any suggestions? 21:24 < nsf> iant: but LockOSThread should prevent other goroutines from running right? 21:25 < nsf> if it doesn't then it's a bug 21:25 <+iant> nsf: No, that is not what it does 21:25 < bartbes> nsf: makes sense, it can't run two goroutines in one thread if one goroutine wants the thread for himself 21:25 <+iant> GOMAXPROCS=1 does not mean that only one thread runs 21:25 <+iant> and LockOSThread does not mean that no other thread runs 21:25 < nsf> iant: that's the problem, it does now.. 21:25 <+iant> there is no way to say "please only run one goroutine" 21:26 <+iant> nsf: with GOMAXPROCS=1 or GOMAXPROCS=2? 21:26 < nsf> sort of :) 21:26 < nsf> GOMAXPROCS=1 21:26 < cw> iant: i see the libgo update ... so i splat that over the one in the gccgo directory or rebuild in place and install from there? 21:26 <+iant> I will believe that it can happen in that case 21:26 < bartbes> iant: say it runs in a fork, shouldn't it bind the goroutine to that fork as well? 21:26 <+iant> cw: you can just update your check out of the gccgo branch 21:26 < nsf> iant: there was a tiny fix recently: http://code.google.com/p/go/source/detail?r=17cf1afd62 21:26 < cw> yeah, i see that now ... i misread the commit 21:26 < nsf> it fixes the bug with GC race condition 21:27 < cw> iant: what about the syscall fix? 21:27 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 240 seconds] 21:27 < nsf> but it affects scheduler also 21:27 < cw> iant: i pushed the CL for gofrontendblah 21:27 < nsf> I'm figuring out how exactly 21:27 <+iant> cw: yeah, I saw it, thanks 21:27 <+iant> I'm working back through my mail 21:27 < cw> ok, np 21:28 < cw> push changes to gofrontend and you move thenm to gccgo as needed i take it? 21:28 <+iant> I commit them to both repositories at the same time 21:28 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit: hcatlin] 21:28 <+iant> via the amazing power of scripts 21:28 < bartbes> ah, I just read that in GOMAXPROCS the PROCS doesn't mean processes, but processors 21:28 < bartbes> that explains a lot :P 21:29 < nsf> I think this recent fix has broken something in a scheduler 21:29 < nsf> regarding lockosthread 21:29 < cw> it means how many not-blocked (runnable) concurrent things should be scheduled 21:29 < bartbes> well, it won't do much on this singlecore.. 21:30 < cw> using on on UP might make sense, you get n-OS threads which the OS will preempt 21:30 < cw> that's useful because the go runtime doesn't (yet) do that 21:30 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts 21:32 < cw> iant: i shouldn't have to reconfigure should i? nothing relevant there changed that i can see 21:32 < nsf> Another question: app has 2 goroutines, let's say A and B. Before running B, A calls runtime.LockOSThread(), then it runs B (e.g. 'go B()'). If this app is started with GOMAXPROCS=1, B should be never scheduled right? 21:32 <+iant> cw: yes, you should just be able to run make again 21:32 < cw> prob parallel build pain then 21:32 < cw> didnt see that before though 21:32 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 21:33 <+iant> cw: building libgo? 21:33 <+iant> there may be a missing dependency 21:33 < cw> there entire gccgo tree actually 21:33 < cw> i figured i have a lot of cores i might as well 21:33 <+iant> I mean, was the problem in libgo? 21:33 < cw> no 21:34 < cw> ../../gccgo/gcc/config/host-linux.c:209:32: error: ‘SSIZE_MAX’ undeclared (first use in this function) 21:34 < cw> so something else 21:34 < cw> maybe limits.h pain again 21:35 < bartbes> nsf: GOMAXPROCS doesn't limit threads, does it? 21:35 < bartbes> from what i just read it's about parallelization 21:35 < cw> no, you can still have many blocked threads 21:35 < nsf> bartbes: well, internally it sets mcpumax variable in the scheduler 21:35 < bartbes> so it could be the other goroutine runs, and scheduling is left to the os 21:35 < nsf> but wait, LockOSThread prevents other goroutines from running 21:36 < bartbes> in the same thread 21:36 < nsf> or at least it should 21:36 < nsf> ah.. I see 21:36 < nsf> thanks :) 21:36 < nsf> I'm starting to get it 21:37 < nsf> so if thread 1 which runs A blocks it may actually start thread 2 and run B on it 21:37 < bartbes> it should 21:37 < bartbes> (imo) 21:37 < nsf> it makes sense :) 21:38 < bartbes> and from there on your os does the rest of the scheduling 21:38 < bartbes> I think.. 21:38 < nsf> well actually when A unblocks it then gets blocked in the scheduler 21:38 < bartbes> it's not like I know this stuff 21:38 < nsf> because there is one goroutine running already 21:39 < nsf> and it's B 21:39 < bartbes> wait, what? 21:39 < nsf> yep :) 21:39 < bartbes> "then it gets blocked in the scheduler", what do you mean? 21:39 < nsf> GOMAXPROCS=1 doesn't allow you to have more than 1 goroutine running 21:39 < bartbes> no.. 21:39 < nsf> yes 21:40 < bartbes> it's the number of processors used 21:40 < nsf> it doesn't, do not believe the docs 21:40 < nsf> it isn't* 21:40 < bartbes> "Either run your job with environment variable GOMAXPROCS set to the number of cores to use (default 1);" 21:40 < bartbes> great, docs you can't trust 21:40 < nsf> I saw the scheduler code and I know what variable GOMAXPROCS affects there 21:41 < nsf> and currently it affects number of threads that can execute goroutines 21:41 < bartbes> well the code in runtime says the same 21:41 < cw> Go can't see processes directly 21:41 < cw> no userspace can really 21:41 < bartbes> not processes, processors 21:42 < cw> yeah, i meant that 21:42 < bartbes> right 21:42 < cw> you can't see processORS 21:42 < bartbes> thought so, but yeah 21:42 < cw> for HT and virtual machines, even what the OS sees isn't an accurate reflection of real concurrency 21:43 < nsf> bartbes: take a look at comment here: http://code.google.com/p/go/source/browse/src/pkg/runtime/proc.c 21:43 < bartbes> I just squashed a mosquito, and now I have a stain on my wall.. :( 21:43 < nsf> there is a description of what GOMAXPROCS currently does 21:44 < bartbes> ah okay 21:44 < bartbes> it's trying to mimic the behaviour mentioned in the docs 21:44 < nsf> "Setting the environment variable $GOMAXPROCS or calling runtime.GOMAXPROCS() will change the number of user threads allowed to execute simultaneously." 21:44 < bartbes> by only letting one thread run something simultanuously 21:44 < bartbes> *simultaneously 21:44 < nsf> so, back to the example 21:44 < bartbes> oh, I like the end 21:45 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Ping timeout: 240 seconds] 21:45 < nsf> we run A which is locked to a thread 21:45 < bartbes> "but the goal now is just to get something working on Linux and OS X" 21:45 < nsf> when it blocks 21:45 < nsf> scheduler runs another thread which executes B here 21:45 < nsf> but when A unblocks 21:45 < nsf> it can't use more than 1 thread executing a goroutine 21:45 < nsf> therefore it blocks 21:46 < nsf> anyway, I do understand now what's happening, and it looks like there is no bug 21:46 < nsf> which is good :) 21:46 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 21:46 < bartbes> yes, A has to wait until B blocks to continue 21:46 < nsf> exactly 21:47 < bartbes> so, now we've established that 21:47 < bartbes> the remaining question: 21:47 < bartbes> and? 21:47 < bartbes> that's it? 21:47 < nsf> yes :)) 21:47 < bartbes> right 21:47 < nsf> I was trying to figure out what's wrong with scheduler 21:48 < nsf> it turns out that it was buggy before 21:48 < nsf> and now it works correctly 21:48 < bartbes> so this was more like a mental excercise 21:48 < nsf> trying to find a bug in Go's runtime is a good mental exercise 21:49 < bartbes> especially since I really haven't used go much 21:50 < bartbes> tbh it's a great language, but I'm not sure what I can use it for 21:50 < bartbes> the best I got was a small web server to control mpd :P 21:51 < nsf> I've made gotris and gomandel demo 21:51 < nsf> both are useless waste of time, on the other hand while I was working on the second one I was able to find a bug in Go's runtime 21:51 < nsf> and not it was fixed 21:51 < nsf> now* 21:51 < bartbes> hmm true 21:52 < bartbes> it has great potential 21:52 < bartbes> but as always it's a matter of libs 21:52 < plexdev> http://is.gd/dbRAo by [Rob Pike] in go/src/pkg/strconv/ -- strconv.Uitob64: allow conversion of 64-bit binaries (buffer was too small). 21:52 < bartbes> or ehm.. packages 21:53 < bartbes> do I spy a buffer overflow? 21:53 < cw> nsf: ok, so gccgo (build as of 5 mins ago) i find slower than 6g for code which does http get, decompression + analysis 21:53 < nsf> the libs are important yes, so.. I guess another way of wasting time with Go more or less productively is making bindings for libraries 21:53 < nsf> cw: I see :( 21:53 < cw> it's not clear why ... the memory footprint is quite large now 21:53 < bartbes> nsf: I'd use cgo if I got it to work without one of those fancy makefiles 21:54 < nsf> bartbes: it's pretty easy to use actually with makefiles 21:54 < bartbes> it probably is 21:54 < nsf> I did bindings for my small termbox library 21:54 < nsf> works fine 21:54 < nsf> :) 21:54 < cw> what was a 2GB working-set before is over 10GB now ... so caches are probably trashed 21:54 < bartbes> but I want to use it without makefiles 21:54 < bartbes> if only so I know what's going on 21:55 < nsf> bartbes: also I've heard that 'waf' build tool gets support for cgo 21:55 < bartbes> still not tells me how to manually use it.. 21:55 < bartbes> *doesn't 21:56 < nsf> it is painful to use it manually 21:56 < bartbes> figured as much 21:56 < nsf> process is described somewhere, though 21:56 < cw> nsf: ok, so more testing... http get -> decompress -> scan 21:56 < bartbes> ah well, I'll just keep on lurking here 21:56 < bartbes> I'm sure I'll find a use 21:56 -!- Nexoro [~nexo@c-71-192-75-183.hsd1.ma.comcast.net] has joined #go-nuts 21:56 < cw> gccgo is much slower than 6g 21:56 < nsf> cw: :( 21:57 -!- mbarkhau [~koloss@dslb-084-059-163-201.pools.arcor-ip.net] has quit [Quit: Leaving.] 21:59 < bartbes> well, I've seen midnight again 21:59 < bartbes> nsf: thanks for the enlightening talk :P 21:59 < nsf> bartbes: np 22:01 < cw> nsf: ok, so another test (generating lots of mandelbrot tiles) where i can look at the code produced also shows gccgo as quite a bit slower 22:01 < cw> so much so i have to wonder wtf is going on 22:05 < nsf> btw, I have my own mandelbrot demo too now 22:05 < nsf> http://github.com/nsf/gomandel 22:06 < cw> i think there are about 20 of them 22:06 < nsf> :D 22:06 < cw> this one makes web-tiles so you can scroll/zoom in on them al la google maps 22:06 < nsf> mine uses opengl, it's quite responsive now (with GOMAXPROCS=4) 22:06 < cw> and allows for arbitrary rotation 22:07 < nsf> heh 22:07 < nsf> mine only zooms and pans 22:07 < cw> ill put my code up when i remember, the generic tiler from that would work for you likely 22:07 < cw> the math to use that is largely hidden, you just pick offset, zoom level, angle, etc 22:08 < nsf> well, I have my own 22:08 < cw> i can see it 22:08 < cw> im fairly sure this wil be faster because there is less overhead per-pixel 22:08 -!- ikaros_ [~ikaros@e180234108.adsl.alicedsl.de] has joined #go-nuts 22:09 < nsf> frankly, I don't care about mandelborts anymore 22:09 < cw> yeah, i got bored with mine too 22:09 < nsf> I think I would try do some networking next 22:09 < nsf> like extend gotris for a multiplayer :) 22:09 < cw> i also found you can render them really fast in a canvas widget on modern browsers 22:10 < nsf> it is likely, yes 22:10 -!- awidegreen [~quassel@62.176.237.78] has quit [Read error: Connection reset by peer] 22:10 < nsf> browsers advance at crazy speed 22:10 < cw> nsf: one cute idea is some multiplayer game, something that focuses on 'fun' not pretty (pretty is hard) 22:10 < nsf> in terms of what they can do 22:10 < cw> nsf: i did a websocket test that works with chrome pretty well 22:11 < nsf> cw: well, I know, pretty requires artist hands, which I don't have 22:11 < cw> same here, i did ascii breakout because of that :) 22:11 -!- ikaros [~ikaros@e180234108.adsl.alicedsl.de] has quit [Ping timeout: 265 seconds] 22:12 -!- Macpunk [~macpunk@cpe-72-177-26-221.austin.res.rr.com] has quit [Quit: Leaving] 22:12 < nsf> I have a library actually to do ascii easily in Go, but works only for linux (although interface is quite small and can be easily ported elsewhere) 22:12 < nsf> http://code.google.com/p/termbox/ 22:12 < nsf> here it is 22:12 < nsf> originally written in C :) 22:14 < nsf> it's interesting because it allows to draw and read input in separate goroutines for example 22:14 < nsf> as example shows 22:15 < nsf> http://github.com/nsf/termbox/blob/master/go/example.go 22:15 < nsf> ;) 22:15 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:16 -!- rlab_ [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 22:20 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: LeNsTR] 22:24 * nsf thinks that real fun starts when everyone will have CPU with 16 cores and more 22:27 * homa_rano is waiting for that kilocore chip... 22:28 < cw> my desktop is 16x :) 22:30 < homa_rano> cw: impressive, is that with hyperthreading? 22:30 < nsf> cw: kewl 22:30 < nsf> :) 22:30 < cw> yeah, 8c 16t ... i get a reasonable linear speedup for builds or even fd heavy stuff up to about 12 threads 22:32 < cw> the nice thing about this though is that for moderate levels of load it's still very responsive, not a big deal for servers for a desktop it matters 22:32 -!- ikaros_ [~ikaros@e180234108.adsl.alicedsl.de] has quit [Quit: Leave the magic to Houdini] 22:32 < homa_rano> I've been meaning to get a desktop for a decade or so now, but every computer I buy is more portable and less powerful than the last... 22:33 < cw> in reality i use a laptop in the evenings (avoids noise w/ kids sleeping) and ssh to the desktop 22:33 < cw> so you could just do that and put it in the basement 22:35 < homa_rano> the machine I get to use for simulations at lab is 24t with 96G ram 22:36 < homa_rano> but people always seem to fill it... 22:36 < cw> the nice thing is large machines got really cheap and accessible 22:37 < cw> im looking forward to 8 socket westmere-ex (80t 160c) hardware being fairly cheap 22:38 < Tonnerre> 96GB, wow, that's enough to start Firefox, Eclipse _and_ OpenOffice at the same time! 22:38 < jer> Tonnerre, but not enough to run a debugger at the same time when one of them crashes 22:39 < Tonnerre> Yea… 22:40 * nsf has totally switched to google chrome recently 22:40 < Tonnerre> Too bad there's no Chrome for NetBSD 22:40 < nsf> chrome eats more RAM actually, but that's a detail :) 22:40 < nsf> works really fast though 22:41 < jer> but chrome has the benefit that <insert random flash app> crashing (and that happens a lot) doesn't take down the other 60 tabs i may have open 22:41 < nsf> yes 22:41 < homa_rano> that's its best feature 22:41 < nsf> firefox got that too recently (in dev branches somewhere I mean) 22:42 < Soultaker> nspluginwrapper does that for Firefox but whatever. 22:42 < Tonnerre> nsf, yes, but Firefox-dev, OpenOffice and Eclipse don't fit into 96GB of RAM 22:42 < nsf> Tonnerre: is it a joke? :) 22:42 < Tonnerre> nsf, yes 22:43 < nsf> the funny thing that I actually had doubts about that :)) 22:43 < Tonnerre> nsf, or actually… it's a question of how long the Firefox runs 22:43 < Tonnerre> I think after some monthes it can easily exceed 96GB 22:44 * jer has 26 GB of addressable space on this computer right now... but no ff, ooo or eclipse 22:44 < nsf> the good thing about google chrome that you don't need to keep it running all the time 22:44 < nsf> because it starts really fast 22:44 < nsf> especially with warm cache 22:44 < homa_rano> chrome window goes up faster than gnome-terminal... 22:44 < nsf> :D 22:44 < Tonnerre> The best thing about Google Chrome is that it is not written in Chrome 22:44 -!- dforsyth [~dforsyth@pool-71-241-253-43.washdc.fios.verizon.net] has quit [Quit: leaving] 22:45 < jer> from my vantage point, the best thing about chrome is that i didn't have to implement it 22:45 < nsf> Tonnerre: but firefox has nice plugins because of xul :D sometimes totally unrelated to a browser though 22:46 -!- Xurix [~Luixsia@AToulouse-254-1-6-162.w83-203.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 22:47 < nsf> I actually use firefox on windows, because it has chatzilla in there 22:47 < nsf> :D 22:47 < Tonnerre> nsf, yes, but I would rather avoid writing a browser in Xul and JavaScript 22:47 < Tonnerre> I use irssi 22:47 < nsf> Tonnerre: good point :) 22:47 < Tonnerre> Not on a vax anymore though 22:47 < nsf> irssi requires cygwin on windows I guess 22:48 < nsf> on linux I use weechat :) 22:48 < Tonnerre> nsf, or an ssh client 22:48 < Tonnerre> That's what screen is for 22:48 < nsf> ok, we're getting into a flame war or something :D 22:49 < nsf> let's Go write some Go 22:49 < nsf> :P 22:49 < homa_rano> let's write screen in go 22:49 < Tonnerre> I'm actually writing some C right now 22:49 < nsf> and it compiles? 22:49 < Tonnerre> homa_rano, heh. Do you have any idea how complicated screen is nowadays? 22:49 < nsf> :D 22:49 < Tonnerre> nsf, sure 22:49 < nsf> I mean it is compiling right now 22:49 < nsf> and you have free time because of that :) 22:50 < Tonnerre> No, it's not 22:50 < Tonnerre> I can think and IRC at the same time 22:50 < nsf> kewl 22:50 < nsf> well, that's apparently because IRC doesn't require thinking :D 22:50 < Tonnerre> Exactly 22:50 < Tonnerre> It's more like a hash table lookup 22:51 < nsf> in fact the whole thinking thing is more like a hash table lookup too 22:58 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Read error: Connection reset by peer] 22:59 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts 23:17 -!- bjarneh [~bjarneh@1x-193-157-193-139.uio.no] has joined #go-nuts 23:17 -!- lux` [~lux@151.95.183.252] has quit [Remote host closed the connection] 23:17 -!- tav_ [~tav@89.242.33.115] has joined #go-nuts 23:18 -!- tav [~tav@2001:0:53aa:64c:0:3ffb:a60d:de8c] has quit [Read error: Connection reset by peer] 23:20 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 23:20 -!- GeoBSD [~geobsd@lns-bzn-53-82-65-15-22.adsl.proxad.net] has quit [Remote host closed the connection] 23:42 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Quit: Venom_X] 23:44 -!- photron [~photron@port-92-201-60-224.dynamic.qsc.de] has quit [Read error: Operation timed out] 23:48 -!- thiago [~thiago@189.107.226.130] has joined #go-nuts 23:51 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote host closed the connection] 23:56 -!- qIIp [~qIIp@72-173-156-132.cust.wildblue.net] has joined #go-nuts 23:56 -!- Netsplit *.net <-> *.split quits: mjf-, trustin, [Pete_27], mpl, tsykoduk, prip, zerd, bmizerany, Eko, kingfishr, (+4 more, use /NETSPLIT to show all of them) 23:57 -!- crashR1 [~crasher@codextreme.pck.nerim.net] has joined #go-nuts 23:57 -!- qIIp [~qIIp@72-173-156-132.cust.wildblue.net] has quit [Client Quit] 23:58 -!- zerd [~quassel@2a01:608:ffff:3644:2e0:4dff:fe83:76ed] has joined #go-nuts --- Log closed Fri Jul 02 00:00:12 2010