<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch main</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2026-04-14T14:51:40Z</updated>
<entry>
<title>[DO-NOT-MERGE] all: changes remove name to "up"</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2026-04-14T14:49:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=e68c715dd5f1a488903f0802a8c0eb686e4c5a51'/>
<id>urn:sha1:e68c715dd5f1a488903f0802a8c0eb686e4c5a51</id>
<content type='text'>
Change-Id: If44d06739ba9a9fc2f8b233e958ee5d1b38a525b
</content>
</entry>
<entry>
<title>[DO-NOT-MERGE] all: add Makefile for common tasks</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2019-03-06T19:38:12Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=067acdfefa3f9702ca1af5f5c2b18304afa59614'/>
<id>urn:sha1:067acdfefa3f9702ca1af5f5c2b18304afa59614</id>
<content type='text'>
Change-Id: I2dffb77970d653cdc884bde4c2625293c53a913c
</content>
</entry>
<entry>
<title>internal/cgrouptest: use t.Cleanup instead of defer in InCgroupV2</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2026-03-28T14:55:51Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=f0eca1afc2477dfcf0f17078e902e59956af63c2'/>
<id>urn:sha1:f0eca1afc2477dfcf0f17078e902e59956af63c2</id>
<content type='text'>
Using defer may cause the TestCgroupGOMAXPROCS fail with the following
error messages,

--- FAIL: TestCgroupGOMAXPROCS (5.14s)
    crash_test.go:193: running /home/ms/src/go/bin/go build -o /tmp/go-build2154548206/testprog.exe
    crash_test.go:216: built testprog in 5.13507196s
    --- FAIL: TestCgroupGOMAXPROCS/containermaxprocs=0 (0.00s)
        cgroup_linux_test.go:60: /tmp/go-build2154548206/testprog.exe PrintGOMAXPROCS (1.191505ms): ok
        cgrouptest_linux.go:81: Error removing cgroup directory: remove /sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/go-cgrouptest4138918176: device or resource busy

Under the following environment,

- Linux 6.19.9-arch1-1 #1 SMP PREEMPT_DYNAMIC
- systemd 260 (260.1-1-arch)

Change-Id: Ic36b0b98f0d589ea5730ea35097af04a22dc7469
</content>
</entry>
<entry>
<title>internal/testenv: exclude GOMAXPROCS when building test program</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2025-07-20T05:45:21Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=fe96b7709cf3411c5dd65bd7f1534d1290f55447'/>
<id>urn:sha1:fe96b7709cf3411c5dd65bd7f1534d1290f55447</id>
<content type='text'>
In the environment where GOMAXPROCS set explicitly, for example to 3 in
shell profile, the runtime tests will fail with the following error,

----
ok      regexp/syntax   0.428s
--- FAIL: TestCgroupGOMAXPROCS (0.81s)
    crash_test.go:186: running /home/ms/src/go/bin/go build -o /tmp/go-build1753772192/testprog.exe
    crash_test.go:208: built testprog in 796.664277ms
    --- FAIL: TestCgroupGOMAXPROCS/containermaxprocs=0 (0.00s)
        cgroup_linux_test.go:60: /tmp/go-build1753772192/testprog.exe PrintGOMAXPROCS (907.06µs): ok
        cgroup_linux_test.go:63: output got "3\n" want "4\n"
--- FAIL: TestCgroupGOMAXPROCSNoLimit (0.00s)
    cgroup_linux_test.go:82: /tmp/go-build1753772192/testprog.exe PrintGOMAXPROCS (879.194µs): ok
    cgroup_linux_test.go:85: output got "3\n" want "4\n"
--- FAIL: TestCgroupGOMAXPROCSHigherThanNumCPU (0.00s)
    cgroup_linux_test.go:102: /tmp/go-build1753772192/testprog.exe PrintGOMAXPROCS (852.396µs): ok
    cgroup_linux_test.go:105: output got "3\n" want "4\n"
--- FAIL: TestCgroupGOMAXPROCSRound (0.01s)
    --- FAIL: TestCgroupGOMAXPROCSRound/50000 (0.00s)
        cgroup_linux_test.go:156: /tmp/go-build1753772192/testprog.exe PrintGOMAXPROCS (852.099µs): ok
        cgroup_linux_test.go:159: output got "3\n" want "2\n"
    --- FAIL: TestCgroupGOMAXPROCSRound/100000 (0.00s)
        cgroup_linux_test.go:156: /tmp/go-build1753772192/testprog.exe PrintGOMAXPROCS (894.001µs): ok
        cgroup_linux_test.go:159: output got "3\n" want "2\n"
    --- FAIL: TestCgroupGOMAXPROCSRound/150000 (0.00s)
        cgroup_linux_test.go:156: /tmp/go-build1753772192/testprog.exe PrintGOMAXPROCS (850.897µs): ok
        cgroup_linux_test.go:159: output got "3\n" want "2\n"
--- FAIL: TestCgroupGOMAXPROCSSchedAffinity (0.00s)
    cgroup_linux_test.go:229: /tmp/go-build1753772192/testprog.exe PrintGOMAXPROCS (867.987µs): ok
    cgroup_linux_test.go:232: output got "3\n" want "2\n"
FAIL
FAIL    runtime 23.088s
----

This changes exclude the GOMAXPROCS when building program for testing so it
does not affect the tests.
</content>
</entry>
<entry>
<title>all: set codereview remote name to upstream</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2025-07-20T06:07:20Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0651c412a5989c22d6274236697b6792563174c2'/>
<id>urn:sha1:0651c412a5989c22d6274236697b6792563174c2</id>
<content type='text'>
Change-Id: I474ea1ac91c7e994a1ec7c24ec1ef23bdc0a988f
</content>
</entry>
<entry>
<title>testing: print the counter if its greater than 1</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2024-02-07T06:10:08Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=329eb3a588e02e6078cb364d20f540072f509f04'/>
<id>urn:sha1:329eb3a588e02e6078cb364d20f540072f509f04</id>
<content type='text'>
When test run with "-count=Y" and Y is greater that 1, print a line
to indicated the current round of test as "### X/Y".
</content>
</entry>
<entry>
<title>encoding/json: realign struct encodeState, structFields, and field</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2024-01-24T21:23:24Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=779b2c6eaca78a60f8e42ebc8a7c47c149f3a9cc'/>
<id>urn:sha1:779b2c6eaca78a60f8e42ebc8a7c47c149f3a9cc</id>
<content type='text'>
This reduce the struct encodeState size from 56 to 16 bytes (-42),
struct structFields size from 40 to 24 bytes (-16), and struct field size
from 136 to 128 bytes (-8).

Benchmark memory profiling before and after,

File: json.test
Type: alloc_space
Time: Jan 25, 2024 at 4:51am (WIB)
Showing nodes accounting for -4.01GB, 4.66% of 85.95GB total
Dropped 64 nodes (cum &lt;= 0.43GB)
      flat  flat%   sum%        cum   cum%
   -4.25GB  4.94%  4.94%    -4.01GB  4.67%  encoding/json.Marshal
    0.19GB  0.22%  4.73%     0.24GB  0.28%  encoding/json.mapEncoder.encode
    0.05GB 0.057%  4.67%     0.05GB 0.057%  reflect.copyVal
    0.04GB 0.049%  4.62%     0.04GB 0.049%  bytes.growSlice
   -0.04GB 0.045%  4.66%    -0.04GB 0.045%  encoding/json.RawMessage.MarshalJSON
         0     0%  4.66%     0.04GB 0.046%  bytes.(*Buffer).WriteString
         0     0%  4.66%     0.04GB 0.049%  bytes.(*Buffer).grow
         0     0%  4.66%    -0.04GB 0.045%  encoding/json.(*Encoder).Encode
         0     0%  4.66%     0.20GB  0.23%  encoding/json.(*encodeState).marshal
         0     0%  4.66%     0.20GB  0.23%  encoding/json.(*encodeState).reflectValue
</content>
</entry>
<entry>
<title>encoding/json: realign struct UnmarshalTypeError and decodeState</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2024-01-24T21:18:36Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=7ace40ec22f23a9df78fdbee54fc44e6e30fb1dc'/>
<id>urn:sha1:7ace40ec22f23a9df78fdbee54fc44e6e30fb1dc</id>
<content type='text'>
This reduce the UnmarshalTypeError size from 64 to 56 bytes (-8 bytes),
and decodeState from 128 to 96 (-32 bytes).
</content>
</entry>
<entry>
<title>bufio: realign struct Scanner</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2023-09-16T16:18:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=4f51d4c33231636f46d44f996cf4c6822dd2ee19'/>
<id>urn:sha1:4f51d4c33231636f46d44f996cf4c6822dd2ee19</id>
<content type='text'>
This reduce the Scanner allocation size from 112 to 72 bytes.
</content>
</entry>
<entry>
<title>bufio: realign struct Reader</title>
<updated>2026-04-14T14:51:40Z</updated>
<author>
<name>Shulhan</name>
<email>m.shulhan@gmail.com</email>
</author>
<published>2023-09-16T16:17:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=5410be8b93277d2b1d0f701bfa64a4930b31615e'/>
<id>urn:sha1:5410be8b93277d2b1d0f701bfa64a4930b31615e</id>
<content type='text'>
This reduce the Reader allocation size from 72 to 40 bytes and
Writer allocation size from 64 to 40 bytes.
</content>
</entry>
</feed>
