Go Language Resources Go, golang, go... NOTE: This page ceased updating in October, 2012

--- 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