<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go-oblast, branch v0.3.0</title>
<subtitle>A small ORM library for Go, focused on type safety and performance</subtitle>
<id>http://git.xyrillian.de/go-oblast/atom/?h=v0.3.0</id>
<link rel='self' href='http://git.xyrillian.de/go-oblast/atom/?h=v0.3.0'/>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/'/>
<updated>2026-04-29T23:55:09Z</updated>
<entry>
<title>v0.3.0</title>
<updated>2026-04-29T23:55:09Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T23:55:09Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=a25fed853f9fe93b5b545a9750844948d26ef01e'/>
<id>urn:sha1:a25fed853f9fe93b5b545a9750844948d26ef01e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>shave an allocation and memcpy from Select() and SelectWhere()</title>
<updated>2026-04-29T23:37:48Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T23:37:48Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=4b582016e34128dca038ab0c1ee3511d75fae8fd'/>
<id>urn:sha1:4b582016e34128dca038ab0c1ee3511d75fae8fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix benchmark calling the wrong test function</title>
<updated>2026-04-29T23:19:20Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T23:19:20Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=651fb229ce9dba18fe076a8a33b904c74e1b7c6f'/>
<id>urn:sha1:651fb229ce9dba18fe076a8a33b904c74e1b7c6f</id>
<content type='text'>
I should have been suspicious of the Gorm/Gorp numbers matching exactly :)
</content>
</entry>
<entry>
<title>benchmark: provide a handwritten N=1 implementation for InsertAndDelete</title>
<updated>2026-04-29T23:09:48Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T23:02:44Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=ea9464fccd26783564e852f10212fc9ce850c5ff'/>
<id>urn:sha1:ea9464fccd26783564e852f10212fc9ce850c5ff</id>
<content type='text'>
As I had expected, this removes an unfair disadvantage for Oblast, which
had to maintain two differently-typed slices for Insert() and Delete().
This is not really a fair comparison since usually you would not be
doing both operations in one go.

For Gorp, this rewrite is neutral. But in a shocking twist, Gorm somehow
does _significantly_ worse with a specialized N=1 implementation:

```
BenchmarkInsertAndDelete/N=1/via_Gorm-24
before: 11508 B/op    157 allocs/op
after:  12840 B/op    172 allocs/op
```
</content>
</entry>
<entry>
<title>add ctx arguments to most methods</title>
<updated>2026-04-29T22:56:38Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T22:56:09Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=71d4c873bd12233b585637404115cfea9462c904'/>
<id>urn:sha1:71d4c873bd12233b585637404115cfea9462c904</id>
<content type='text'>
</content>
</entry>
<entry>
<title>shave off some more allocations</title>
<updated>2026-04-29T22:26:10Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T22:26:10Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=24bfa86b90f7b9bec886af7e3e4f02fee25ce99c'/>
<id>urn:sha1:24bfa86b90f7b9bec886af7e3e4f02fee25ce99c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>one more TODO</title>
<updated>2026-04-29T22:18:53Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T22:18:53Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=5b5fc09a62c3c82f30e78eb49501d10c3cc0c172'/>
<id>urn:sha1:5b5fc09a62c3c82f30e78eb49501d10c3cc0c172</id>
<content type='text'>
</content>
</entry>
<entry>
<title>benchmark: compare InsertAndDelete to plain SQLite using QueryRow for INSERT</title>
<updated>2026-04-29T21:36:28Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-29T21:36:28Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=b0c7e5a3bd1e590d49f793da65a74d646eadb538'/>
<id>urn:sha1:b0c7e5a3bd1e590d49f793da65a74d646eadb538</id>
<content type='text'>
</content>
</entry>
<entry>
<title>note to self: bad memory usage stats for Insert()</title>
<updated>2026-04-24T14:17:41Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-24T14:17:39Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=eeca7893949a6bf71472a14bb7beb75c469f32db'/>
<id>urn:sha1:eeca7893949a6bf71472a14bb7beb75c469f32db</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add Store.Upsert()</title>
<updated>2026-04-24T14:10:09Z</updated>
<author>
<name>Stefan Majewsky</name>
<email>majewsky@gmx.net</email>
</author>
<published>2026-04-24T14:08:53Z</published>
<link rel='alternate' type='text/html' href='http://git.xyrillian.de/go-oblast/commit/?id=5954b420d2acff038a79aa0e09d2ba3ab8dc37a9'/>
<id>urn:sha1:5954b420d2acff038a79aa0e09d2ba3ab8dc37a9</id>
<content type='text'>
</content>
</entry>
</feed>
