<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch weekly.2009-12-07</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=weekly.2009-12-07</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=weekly.2009-12-07'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2009-12-08T06:01:59Z</updated>
<entry>
<title>6l, 8l: make string buffer big enough for 8 chars (and then some)</title>
<updated>2009-12-08T06:01:59Z</updated>
<author>
<name>Russ Cox</name>
<email>rsc@golang.org</email>
</author>
<published>2009-12-08T06:01:59Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=b73b43ea3165a52bb9c3d4263954800f4055f426'/>
<id>urn:sha1:b73b43ea3165a52bb9c3d4263954800f4055f426</id>
<content type='text'>
Fixes #221.

R=ken2
https://golang.org/cl/165086
</content>
</entry>
<entry>
<title>test/bench: faster fasta (mostly due to bufio fix)</title>
<updated>2009-12-08T03:39:09Z</updated>
<author>
<name>Russ Cox</name>
<email>rsc@golang.org</email>
</author>
<published>2009-12-08T03:39:09Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=86c0c54d27eecb32d4904b57122d5543ce3f4a00'/>
<id>urn:sha1:86c0c54d27eecb32d4904b57122d5543ce3f4a00</id>
<content type='text'>
R=r
https://golang.org/cl/165083
</content>
</entry>
<entry>
<title>runtime: don't touch pages of memory unnecessarily.</title>
<updated>2009-12-07T23:52:14Z</updated>
<author>
<name>Russ Cox</name>
<email>rsc@golang.org</email>
</author>
<published>2009-12-07T23:52:14Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0d3301a557c1c8da66e5181bb93ceefc3dd3369d'/>
<id>urn:sha1:0d3301a557c1c8da66e5181bb93ceefc3dd3369d</id>
<content type='text'>
cuts working size for hello world from 6 MB to 1.2 MB.
still some work to be done, but diminishing returns.

R=r
https://golang.org/cl/165080
</content>
</entry>
<entry>
<title>runtime: introduce unsafe.New and unsafe.NewArray</title>
<updated>2009-12-07T23:51:58Z</updated>
<author>
<name>Russ Cox</name>
<email>rsc@golang.org</email>
</author>
<published>2009-12-07T23:51:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=33649bd2780ec6fd28d6812769f9a1ad5ff3118b'/>
<id>urn:sha1:33649bd2780ec6fd28d6812769f9a1ad5ff3118b</id>
<content type='text'>
    to provide functionality previously hacked in to
    reflect and gob.

R=r
https://golang.org/cl/165076
</content>
</entry>
<entry>
<title>use a bootstrap array to avoid allocation for short vectors</title>
<updated>2009-12-07T20:46:20Z</updated>
<author>
<name>Robert Griesemer</name>
<email>gri@golang.org</email>
</author>
<published>2009-12-07T20:46:20Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=a4a82241529ece5d5c7580b7b2df1b616c51b832'/>
<id>urn:sha1:a4a82241529ece5d5c7580b7b2df1b616c51b832</id>
<content type='text'>
R=r
https://golang.org/cl/165078
</content>
</entry>
<entry>
<title>Remove copyBytes completely in favor of copy.</title>
<updated>2009-12-07T19:31:56Z</updated>
<author>
<name>Christopher Wedgwood</name>
<email>cw@f00f.org</email>
</author>
<published>2009-12-07T19:31:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=8c22dd24e0e5aa847bd56dc7e573092f8652e3c5'/>
<id>urn:sha1:8c22dd24e0e5aa847bd56dc7e573092f8652e3c5</id>
<content type='text'>
R=r, rsc
https://golang.org/cl/165068
</content>
</entry>
<entry>
<title>pick off special one-byte case in copy. worth 2x in benchmarks (38ns-&gt;16ns).</title>
<updated>2009-12-07T19:28:02Z</updated>
<author>
<name>Rob Pike</name>
<email>r@golang.org</email>
</author>
<published>2009-12-07T19:28:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=20c1ec263a8910ae1b794cb017f59e73997a9296'/>
<id>urn:sha1:20c1ec263a8910ae1b794cb017f59e73997a9296</id>
<content type='text'>
the one-item case could be generalized easily with no cost. worth considering.

R=rsc
CC=golang-dev, cw
https://golang.org/cl/167044
</content>
</entry>
<entry>
<title>the AST walker currently provides no way to find out how the</title>
<updated>2009-12-07T18:33:45Z</updated>
<author>
<name>Roger Peppe</name>
<email>rogpeppe@gmail.com</email>
</author>
<published>2009-12-07T18:33:45Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=80e17d67976b29c4de6173d858efbe0955648404'/>
<id>urn:sha1:80e17d67976b29c4de6173d858efbe0955648404</id>
<content type='text'>
nodes in the tree are nested with respect to one another.
a simple change to the Visitor interface makes it possible
to do this (for example to maintain a current node-depth, or a
knowledge of the name of the current function).

Visit(nil) is called at the end of a node's children;
this make possible the channel-based interface below,
amongst other possibilities.

It is still just as simple to get the original behaviour - just
return the same Visitor from Visit.

Here are a couple of possible Visitor types.

// closure-based
type FVisitor func(n interface{}) FVisitor
func (f FVisitor) Visit(n interface{}) Visitor {
	return f(n);
}

// channel-based
type CVisitor chan Visit;
type Visit struct {
	node interface{};
	reply chan CVisitor;
};
func (v CVisitor) Visit(n interface{}) Visitor
{
	if n == nil {
		close(v);
	} else {
		reply := make(chan CVisitor);
		v &lt;- Visit{n, reply};
		r := &lt;-reply;
		if r == nil {
			return nil;
		}
		return r;
	}
	return nil;
}

R=gri
CC=rsc
https://golang.org/cl/166047
</content>
</entry>
<entry>
<title>changes necessary to get the new chameneosredux onto shootout.alioth.debian.org .</title>
<updated>2009-12-07T18:06:51Z</updated>
<author>
<name>Roger Peppe</name>
<email>rogpeppe@gmail.com</email>
</author>
<published>2009-12-07T18:06:51Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=ea98e4b5e99a55d4161ca61b16f401974566ae4a'/>
<id>urn:sha1:ea98e4b5e99a55d4161ca61b16f401974566ae4a</id>
<content type='text'>
it's now there: http://shootout.alioth.debian.org/u32q/benchmark.php?test=chameneosredux&amp;lang=all&amp;box=1!

R=r, rsc
CC=golang-dev
https://golang.org/cl/167043
</content>
</entry>
<entry>
<title>save a few ns by inlining (which mostly simplifies things anyway).</title>
<updated>2009-12-06T23:01:07Z</updated>
<author>
<name>Rob Pike</name>
<email>r@golang.org</email>
</author>
<published>2009-12-06T23:01:07Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=f91cd44736d18b9191097121020727719c219479'/>
<id>urn:sha1:f91cd44736d18b9191097121020727719c219479</id>
<content type='text'>
a couple of cleanups.
don't keep big buffers in the free list.

R=rsc
CC=golang-dev
https://golang.org/cl/166078
</content>
</entry>
</feed>
