diff --git a/bigquery/schema.go b/bigquery/schema.go
index e202d9c..4d0da28 100644
--- a/bigquery/schema.go
+++ b/bigquery/schema.go
@@ -19,6 +19,8 @@
 	"fmt"
 	"reflect"
 
+	"cloud.google.com/go/internal/atomiccache"
+
 	bq "google.golang.org/api/bigquery/v2"
 )
 
@@ -141,9 +143,21 @@
 	return inferSchemaReflect(reflect.TypeOf(st))
 }
 
-func inferSchemaReflect(t reflect.Type) (Schema, error) {
-	return inferStruct(t, map[reflect.Type]bool{})
+var schemaCache atomiccache.Cache
+
+type cacheVal struct {
+	schema Schema
+	err    error
 }
+
+func inferSchemaReflect(t reflect.Type) (Schema, error) {
+	cv := schemaCache.Get(t, func() interface{} {
+		s, err := inferStruct(t, map[reflect.Type]bool{})
+		return cacheVal{s, err}
+	}).(cacheVal)
+	return cv.schema, cv.err
+}
+
 func inferStruct(t reflect.Type, seen map[reflect.Type]bool) (Schema, error) {
 	if seen[t] {
 		return nil, fmt.Errorf("bigquery: schema inference for recursive type %s", t)
diff --git a/bigquery/uploader.go b/bigquery/uploader.go
index a0ed0ae..2328118 100644
--- a/bigquery/uploader.go
+++ b/bigquery/uploader.go
@@ -122,7 +122,6 @@
 	if v.Kind() != reflect.Struct {
 		return nil, false, nil
 	}
-	// TODO(jba): cache schema inference to speed this up.
 	schema, err := inferSchemaReflect(v.Type())
 	if err != nil {
 		return nil, false, err
