Explore a technical conference talk that delves into the development of a CGo-free database/sql driver for SQLite and its underlying technologies. Learn about the modernc.org/sqlite driver implementation, including its comprehensive testing framework that combines Go tests with official SQLite Tcl programs. Discover the challenges and solutions in the C to Go transpiler (ccgo), particularly focusing on reproducing C semantics in Go, threading model adaptations, and the innovative package management system for transpiled programs. Understand the technical intricacies of implementing a C standard library (libc) in Go, including platform-specific challenges and compatibility considerations. Gain insights into the trade-offs between runtime performance and cross-compilation capabilities, backed by real-world adoption evidence from over 1,000 known package importers.
Overview
Syllabus
To CGo or not: Cross compiling a SQLite driver - Jan Mercl
Taught by
GoLab conference