Skip to content

Instantly share code, notes, and snippets.

@joshdurbin
Last active April 11, 2025 17:33
Show Gist options
  • Save joshdurbin/50378ffea196bfec2144ee8baf61aaf5 to your computer and use it in GitHub Desktop.
Save joshdurbin/50378ffea196bfec2144ee8baf61aaf5 to your computer and use it in GitHub Desktop.
non c-go sqlite per testing
➜ sqlitetest time ./main
=== SQLite Load Testing Program ===
Database path: ./people.db
=== DATABASE ALREADY CONTAINS 3230001 RECORDS ===
Proceeding with queries...
=== QUERY BY SSN TIMING ===
Running 1000 random SSN queries...
Queried 100/1000 SSNs (23728.07 queries/sec, 10.00% complete)
Queried 200/1000 SSNs (26492.84 queries/sec, 20.00% complete)
Queried 300/1000 SSNs (30303.54 queries/sec, 30.00% complete)
Queried 400/1000 SSNs (34503.58 queries/sec, 40.00% complete)
Queried 500/1000 SSNs (35465.08 queries/sec, 50.00% complete)
Queried 600/1000 SSNs (37379.30 queries/sec, 60.00% complete)
Queried 700/1000 SSNs (39290.89 queries/sec, 70.00% complete)
Queried 800/1000 SSNs (40176.36 queries/sec, 80.00% complete)
Queried 900/1000 SSNs (41503.90 queries/sec, 90.00% complete)
Queried 1000/1000 SSNs (42082.97 queries/sec, 100.00% complete)
Finished querying 1000 SSNs in 23.768292ms (42072.86 queries/sec)
Total SSN query time: 272.346916ms
SSN query operation completed.
Memory Stats:
Alloc = 2 MiB
TotalAlloc = 2 MiB
Sys = 6 MiB
NumGC = 0
=== QUERY BY LAST NAME TIMING ===
Running 100 random last name queries...
Queried 10/100 last names (2234.53 queries/sec, 10.00% complete), avg results per query: 100.00
Queried 20/100 last names (3012.80 queries/sec, 20.00% complete), avg results per query: 100.00
Queried 30/100 last names (3465.47 queries/sec, 30.00% complete), avg results per query: 100.00
Queried 40/100 last names (3837.02 queries/sec, 40.00% complete), avg results per query: 100.00
Queried 50/100 last names (4107.11 queries/sec, 50.00% complete), avg results per query: 100.00
Queried 60/100 last names (4313.65 queries/sec, 60.00% complete), avg results per query: 100.00
Queried 70/100 last names (4305.66 queries/sec, 70.00% complete), avg results per query: 100.00
Queried 80/100 last names (4434.47 queries/sec, 80.00% complete), avg results per query: 100.00
Queried 90/100 last names (4549.29 queries/sec, 90.00% complete), avg results per query: 100.00
Queried 100/100 last names (4650.13 queries/sec, 100.00% complete), avg results per query: 100.00
Finished querying 100 last names in 21.508292ms (4649.37 queries/sec, avg results per query: 100.00)
Total last name query time: 248.549708ms
Last name query operation completed.
Memory Stats:
Alloc = 1 MiB
TotalAlloc = 4 MiB
Sys = 11 MiB
NumGC = 1
=== QUERY ALL ORDERED BY GENDER TIMING ===
Querying all records ordered by gender...
Processed 100000 records (611624.23 records/sec)
Processed 200000 records (605939.42 records/sec)
Processed 300000 records (613890.66 records/sec)
Processed 400000 records (612791.25 records/sec)
Processed 500000 records (612261.14 records/sec)
Processed 600000 records (611170.83 records/sec)
Processed 700000 records (610392.01 records/sec)
Processed 800000 records (607922.70 records/sec)
Processed 900000 records (604566.32 records/sec)
Processed 1000000 records (600739.60 records/sec)
Processed 1100000 records (597745.74 records/sec)
Processed 1200000 records (594558.15 records/sec)
Processed 1300000 records (591439.47 records/sec)
Processed 1400000 records (587621.99 records/sec)
Processed 1500000 records (584163.23 records/sec)
Processed 1600000 records (579613.10 records/sec)
Processed 1700000 records (577313.24 records/sec)
Processed 1800000 records (575508.87 records/sec)
Processed 1900000 records (572321.65 records/sec)
Processed 2000000 records (569207.63 records/sec)
Processed 2100000 records (565650.81 records/sec)
Processed 2200000 records (562287.77 records/sec)
Processed 2300000 records (558934.69 records/sec)
Processed 2400000 records (555015.18 records/sec)
Processed 2500000 records (550935.01 records/sec)
Processed 2600000 records (547331.68 records/sec)
Processed 2700000 records (543728.68 records/sec)
Processed 2800000 records (540282.88 records/sec)
Processed 2900000 records (536814.61 records/sec)
Processed 3000000 records (532790.31 records/sec)
Processed 3100000 records (529130.20 records/sec)
Processed 3200000 records (521673.15 records/sec)
Processed 3230001 records (516136.59 records/sec)
Finished querying all 3230001 records ordered by gender in 6.332118s (510098.04 records/sec)
Total gender ordering query time: 6.332140333s
Gender ordering query operation completed.
Memory Stats:
Alloc = 1 MiB
TotalAlloc = 842 MiB
Sys = 12 MiB
NumGC = 271
=== LOAD TESTING COMPLETED SUCCESSFULLY ===
./main 6.23s user 0.57s system 89% cpu 7.561 total
package main
import (
"database/sql"
"fmt"
"log"
"runtime"
"sync"
"time"
"github.com/brianvoe/gofakeit/v7"
_ "github.com/mattn/go-sqlite3"
)
// Person represents a person record
type Person struct {
ID int64
FirstName string
LastName string
Gender string
SSN string
DateOfBirth string // Store as string in format "2006-01-02"
BirthZipcode string
}
// Initialize the database and create table if it doesn't exist
func initDB(dbPath string) (*sql.DB, error) {
db, err := sql.Open("sqlite3", dbPath)
if err != nil {
return nil, err
}
// Enable WAL mode for better concurrency and performance
_, err = db.Exec("PRAGMA journal_mode=WAL;")
if err != nil {
return nil, err
}
// Create table if it doesn't exist
createTableSQL := `
CREATE TABLE IF NOT EXISTS people (
id INTEGER PRIMARY KEY AUTOINCREMENT,
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
gender TEXT NOT NULL,
ssn TEXT NOT NULL UNIQUE,
date_of_birth TEXT NOT NULL,
birth_zipcode TEXT NOT NULL
);
`
_, err = db.Exec(createTableSQL)
if err != nil {
return nil, err
}
// Create indexes for querying
indexes := []string{
"CREATE INDEX IF NOT EXISTS idx_ssn ON people(ssn);",
"CREATE INDEX IF NOT EXISTS idx_last_name ON people(last_name);",
"CREATE INDEX IF NOT EXISTS idx_date_of_birth ON people(date_of_birth);",
"CREATE INDEX IF NOT EXISTS idx_birth_zipcode ON people(birth_zipcode);",
"CREATE INDEX IF NOT EXISTS idx_gender ON people(gender);",
}
for _, idx := range indexes {
_, err = db.Exec(idx)
if err != nil {
return nil, err
}
}
return db, nil
}
// Check if the database already has data
func hasData(db *sql.DB) (bool, error) {
var count int
err := db.QueryRow("SELECT COUNT(*) FROM people LIMIT 1").Scan(&count)
if err != nil {
return false, err
}
return count > 0, nil
}
// Count total records in the database
func countRecords(db *sql.DB) (int, error) {
var count int
err := db.QueryRow("SELECT COUNT(*) FROM people").Scan(&count)
if err != nil {
return 0, err
}
return count, nil
}
// SSNGenerator provides thread-safe unique SSN generation
type SSNGenerator struct {
used map[string]bool
mutex sync.Mutex
}
// NewSSNGenerator creates a new SSN generator
func NewSSNGenerator() *SSNGenerator {
return &SSNGenerator{
used: make(map[string]bool),
}
}
// Generate creates a unique SSN
func (sg *SSNGenerator) Generate() string {
sg.mutex.Lock()
defer sg.mutex.Unlock()
for {
// Format SSN as ###-##-#### without using real SSN formats
ssn := fmt.Sprintf("%03d-%02d-%04d",
gofakeit.IntRange(100, 999),
gofakeit.IntRange(10, 99),
gofakeit.IntRange(1000, 9999))
// Check if this SSN has been used before
if !sg.used[ssn] {
sg.used[ssn] = true
return ssn
}
// If we've already used this SSN, try again
}
}
// Generate and insert fake people
func generateAndInsertPeople(db *sql.DB, count int, batchSize int) error {
// Initialize gofakeit with a seed for reproducibility (optional)
gofakeit.Seed(0)
// Create SSN generator for unique SSNs
ssnGen := NewSSNGenerator()
// Prepare the statement outside the loop
stmt, err := db.Prepare(`
INSERT INTO people (first_name, last_name, gender, ssn, date_of_birth, birth_zipcode)
VALUES (?, ?, ?, ?, ?, ?)
`)
if err != nil {
return err
}
defer stmt.Close()
fmt.Println("Starting data generation and insertion...")
fmt.Printf("Target: %d records in batches of %d\n", count, batchSize)
start := time.Now()
totalInserted := 0
var lastTx *sql.Tx = nil
for i := 0; i < count; i++ {
// Start a new transaction if needed
if lastTx == nil {
tx, err := db.Begin()
if err != nil {
return err
}
lastTx = tx
}
// Generate a random person
gender := "Male"
if gofakeit.Bool() {
gender = "Female"
}
// Generate a date of birth between 18 and 80 years ago
minAge := time.Now().AddDate(-80, 0, 0)
maxAge := time.Now().AddDate(-18, 0, 0)
dob := gofakeit.DateRange(minAge, maxAge)
// Get a unique SSN
ssn := ssnGen.Generate()
// Insert the person
_, err = lastTx.Stmt(stmt).Exec(
gofakeit.FirstName(),
gofakeit.LastName(),
gender,
ssn,
dob.Format("2006-01-02"),
gofakeit.Zip(),
)
if err != nil {
lastTx.Rollback()
return fmt.Errorf("insert failed: %w", err)
}
totalInserted++
// Commit the transaction and start a new one every batchSize records
if i > 0 && i%batchSize == 0 {
err = lastTx.Commit()
if err != nil {
return err
}
lastTx = nil
elapsed := time.Since(start)
rate := float64(totalInserted) / elapsed.Seconds()
fmt.Printf("Inserted %d/%d records (%.2f records/sec, %.2f%% complete)\n",
totalInserted, count, rate, float64(totalInserted)/float64(count)*100)
// Report memory stats every 10 batches
if i%(batchSize*10) == 0 {
reportMemoryStats()
}
}
}
// Commit the final transaction if any
if lastTx != nil {
err = lastTx.Commit()
if err != nil {
return err
}
}
elapsed := time.Since(start)
rate := float64(count) / elapsed.Seconds()
fmt.Printf("Finished inserting %d records in %v (%.2f records/sec)\n", count, elapsed, rate)
return nil
}
// Query by SSN
func queryBySSN(db *sql.DB, count int) error {
fmt.Printf("Running %d random SSN queries...\n", count)
// Get a random sample of SSNs from the database
rows, err := db.Query("SELECT ssn FROM people ORDER BY RANDOM() LIMIT ?", count)
if err != nil {
return err
}
defer rows.Close()
var ssns []string
for rows.Next() {
var ssn string
if err := rows.Scan(&ssn); err != nil {
return err
}
ssns = append(ssns, ssn)
}
if len(ssns) == 0 {
return fmt.Errorf("no SSNs found in database")
}
// Now query by each SSN
start := time.Now()
for i, ssn := range ssns {
var p Person
err = db.QueryRow(`
SELECT id, first_name, last_name, gender, ssn, date_of_birth, birth_zipcode
FROM people WHERE ssn = ?
`, ssn).Scan(&p.ID, &p.FirstName, &p.LastName, &p.Gender, &p.SSN, &p.DateOfBirth, &p.BirthZipcode)
if err != nil {
return err
}
if (i+1)%100 == 0 {
elapsed := time.Since(start)
rate := float64(i+1) / elapsed.Seconds()
fmt.Printf("Queried %d/%d SSNs (%.2f queries/sec, %.2f%% complete)\n",
i+1, len(ssns), rate, float64(i+1)/float64(len(ssns))*100)
}
}
elapsed := time.Since(start)
rate := float64(len(ssns)) / elapsed.Seconds()
fmt.Printf("Finished querying %d SSNs in %v (%.2f queries/sec)\n", len(ssns), elapsed, rate)
return nil
}
// Query by last name
func queryByLastName(db *sql.DB, count int) error {
fmt.Printf("Running %d random last name queries...\n", count)
// Get a random sample of last names from the database
rows, err := db.Query("SELECT DISTINCT last_name FROM people ORDER BY RANDOM() LIMIT ?", count)
if err != nil {
return err
}
defer rows.Close()
var lastNames []string
for rows.Next() {
var lastName string
if err := rows.Scan(&lastName); err != nil {
return err
}
lastNames = append(lastNames, lastName)
}
if len(lastNames) == 0 {
return fmt.Errorf("no last names found in database")
}
// Now query by each last name
start := time.Now()
totalResults := 0
for i, lastName := range lastNames {
rows, err := db.Query(`
SELECT id, first_name, last_name, gender, ssn, date_of_birth, birth_zipcode
FROM people WHERE last_name = ? LIMIT 100
`, lastName)
if err != nil {
return err
}
// We need to iterate through the results to actually fetch them
var resultCount int
for rows.Next() {
var p Person
if err := rows.Scan(&p.ID, &p.FirstName, &p.LastName, &p.Gender, &p.SSN, &p.DateOfBirth, &p.BirthZipcode); err != nil {
rows.Close()
return err
}
resultCount++
}
rows.Close()
totalResults += resultCount
if (i+1)%10 == 0 {
elapsed := time.Since(start)
rate := float64(i+1) / elapsed.Seconds()
avgResults := float64(totalResults) / float64(i+1)
fmt.Printf("Queried %d/%d last names (%.2f queries/sec, %.2f%% complete), avg results per query: %.2f\n",
i+1, len(lastNames), rate, float64(i+1)/float64(len(lastNames))*100, avgResults)
}
}
elapsed := time.Since(start)
rate := float64(len(lastNames)) / elapsed.Seconds()
avgResults := float64(totalResults) / float64(len(lastNames))
fmt.Printf("Finished querying %d last names in %v (%.2f queries/sec, avg results per query: %.2f)\n",
len(lastNames), elapsed, rate, avgResults)
return nil
}
// Query all and order by gender
func queryAllOrderByGender(db *sql.DB) error {
fmt.Println("Querying all records ordered by gender...")
start := time.Now()
// Use a chunked approach to avoid overwhelming memory
const chunkSize = 100000
var offset int
var totalCount int
for {
rows, err := db.Query(`
SELECT id, first_name, last_name, gender, ssn, date_of_birth, birth_zipcode
FROM people ORDER BY gender LIMIT ? OFFSET ?
`, chunkSize, offset)
if err != nil {
return err
}
var chunkCount int
for rows.Next() {
var p Person
if err := rows.Scan(&p.ID, &p.FirstName, &p.LastName, &p.Gender, &p.SSN, &p.DateOfBirth, &p.BirthZipcode); err != nil {
rows.Close()
return err
}
chunkCount++
}
rows.Close()
if chunkCount == 0 {
break // No more records
}
totalCount += chunkCount
offset += chunkSize
elapsed := time.Since(start)
rate := float64(totalCount) / elapsed.Seconds()
fmt.Printf("Processed %d records (%.2f records/sec)\n", totalCount, rate)
}
elapsed := time.Since(start)
rate := float64(totalCount) / elapsed.Seconds()
fmt.Printf("Finished querying all %d records ordered by gender in %v (%.2f records/sec)\n",
totalCount, elapsed, rate)
return nil
}
// Report memory statistics
func reportMemoryStats() {
var m runtime.MemStats
runtime.ReadMemStats(&m)
fmt.Printf("Memory Stats:\n")
fmt.Printf(" Alloc = %v MiB\n", bToMb(m.Alloc))
fmt.Printf(" TotalAlloc = %v MiB\n", bToMb(m.TotalAlloc))
fmt.Printf(" Sys = %v MiB\n", bToMb(m.Sys))
fmt.Printf(" NumGC = %v\n", m.NumGC)
fmt.Println()
}
// Convert bytes to megabytes
func bToMb(b uint64) uint64 {
return b / 1024 / 1024
}
func main() {
dbPath := "./people.db"
totalRecords := 5000000
batchSize := 10000
fmt.Println("=== SQLite Load Testing Program ===")
fmt.Println("Database path:", dbPath)
// Initialize database
db, err := initDB(dbPath)
if err != nil {
log.Fatalf("Failed to initialize database: %v", err)
}
defer db.Close()
// Set pragmas for better performance
_, err = db.Exec("PRAGMA synchronous = NORMAL")
if err != nil {
log.Fatalf("Failed to set PRAGMA synchronous: %v", err)
}
_, err = db.Exec("PRAGMA temp_store = MEMORY")
if err != nil {
log.Fatalf("Failed to set PRAGMA temp_store: %v", err)
}
_, err = db.Exec("PRAGMA cache_size = 10000")
if err != nil {
log.Fatalf("Failed to set PRAGMA cache_size: %v", err)
}
// Check if database already has data
hasData, err := hasData(db)
if err != nil {
log.Fatalf("Failed to check if database has data: %v", err)
}
if !hasData {
fmt.Println("\n=== DATABASE IS EMPTY ===")
fmt.Println("Starting data generation and insertion process...")
// Insert timing
fmt.Println("\n=== INSERT TIMING ===")
start := time.Now()
err = generateAndInsertPeople(db, totalRecords, batchSize)
if err != nil {
log.Fatalf("Failed to generate and insert people: %v", err)
}
elapsed := time.Since(start)
fmt.Printf("Total insertion time: %v\n", elapsed)
fmt.Println("Insert operation completed.")
reportMemoryStats()
} else {
count, err := countRecords(db)
if err != nil {
log.Fatalf("Failed to count records: %v", err)
}
fmt.Printf("\n=== DATABASE ALREADY CONTAINS %d RECORDS ===\n", count)
fmt.Println("Proceeding with queries...")
}
// Query by SSN timing
fmt.Println("\n=== QUERY BY SSN TIMING ===")
start := time.Now()
err = queryBySSN(db, 1000)
if err != nil {
log.Fatalf("Failed to query by SSN: %v", err)
}
elapsed := time.Since(start)
fmt.Printf("Total SSN query time: %v\n", elapsed)
fmt.Println("SSN query operation completed.")
reportMemoryStats()
// Query by last name timing
fmt.Println("\n=== QUERY BY LAST NAME TIMING ===")
start = time.Now()
err = queryByLastName(db, 100)
if err != nil {
log.Fatalf("Failed to query by last name: %v", err)
}
elapsed = time.Since(start)
fmt.Printf("Total last name query time: %v\n", elapsed)
fmt.Println("Last name query operation completed.")
reportMemoryStats()
// Query all ordered by gender timing
fmt.Println("\n=== QUERY ALL ORDERED BY GENDER TIMING ===")
start = time.Now()
err = queryAllOrderByGender(db)
if err != nil {
log.Fatalf("Failed to query all ordered by gender: %v", err)
}
elapsed = time.Since(start)
fmt.Printf("Total gender ordering query time: %v\n", elapsed)
fmt.Println("Gender ordering query operation completed.")
reportMemoryStats()
fmt.Println("\n=== LOAD TESTING COMPLETED SUCCESSFULLY ===")
}
➜ sqlitetest time ./main
=== SQLite Load Testing Program ===
Database path: ./people.db
=== DATABASE IS EMPTY ===
Starting data generation and insertion process...
=== INSERT TIMING ===
Starting data generation and insertion...
Target: 5000000 records in batches of 10000
Inserted 10001/5000000 records (143463.13 records/sec, 0.20% complete)
Inserted 20001/5000000 records (138749.21 records/sec, 0.40% complete)
Inserted 30001/5000000 records (142675.10 records/sec, 0.60% complete)
Inserted 40001/5000000 records (138075.93 records/sec, 0.80% complete)
Inserted 50001/5000000 records (121106.33 records/sec, 1.00% complete)
Inserted 60001/5000000 records (118359.07 records/sec, 1.20% complete)
Inserted 70001/5000000 records (115512.39 records/sec, 1.40% complete)
Inserted 80001/5000000 records (114187.98 records/sec, 1.60% complete)
Inserted 90001/5000000 records (113320.34 records/sec, 1.80% complete)
Inserted 100001/5000000 records (112132.27 records/sec, 2.00% complete)
Memory Stats:
Alloc = 9 MiB
TotalAlloc = 96 MiB
Sys = 24 MiB
NumGC = 24
Inserted 110001/5000000 records (110527.42 records/sec, 2.20% complete)
Inserted 120001/5000000 records (108715.65 records/sec, 2.40% complete)
Inserted 130001/5000000 records (107498.76 records/sec, 2.60% complete)
Inserted 140001/5000000 records (106336.67 records/sec, 2.80% complete)
Inserted 150001/5000000 records (104967.74 records/sec, 3.00% complete)
Inserted 160001/5000000 records (103996.42 records/sec, 3.20% complete)
Inserted 170001/5000000 records (102828.96 records/sec, 3.40% complete)
Inserted 180001/5000000 records (101656.72 records/sec, 3.60% complete)
Inserted 190001/5000000 records (100531.48 records/sec, 3.80% complete)
Inserted 200001/5000000 records (99441.75 records/sec, 4.00% complete)
Memory Stats:
Alloc = 13 MiB
TotalAlloc = 193 MiB
Sys = 32 MiB
NumGC = 34
Inserted 210001/5000000 records (98255.59 records/sec, 4.20% complete)
Inserted 220001/5000000 records (96944.26 records/sec, 4.40% complete)
Inserted 230001/5000000 records (95583.17 records/sec, 4.60% complete)
Inserted 240001/5000000 records (94395.00 records/sec, 4.80% complete)
Inserted 250001/5000000 records (93263.35 records/sec, 5.00% complete)
Inserted 260001/5000000 records (92329.99 records/sec, 5.20% complete)
Inserted 270001/5000000 records (91336.58 records/sec, 5.40% complete)
Inserted 280001/5000000 records (90466.91 records/sec, 5.60% complete)
Inserted 290001/5000000 records (89334.62 records/sec, 5.80% complete)
Inserted 300001/5000000 records (88542.30 records/sec, 6.00% complete)
Memory Stats:
Alloc = 35 MiB
TotalAlloc = 295 MiB
Sys = 49 MiB
NumGC = 40
Inserted 310001/5000000 records (87632.18 records/sec, 6.20% complete)
Inserted 320001/5000000 records (86830.26 records/sec, 6.40% complete)
Inserted 330001/5000000 records (85947.77 records/sec, 6.60% complete)
Inserted 340001/5000000 records (85151.73 records/sec, 6.80% complete)
Inserted 350001/5000000 records (84319.58 records/sec, 7.00% complete)
Inserted 360001/5000000 records (83526.51 records/sec, 7.20% complete)
Inserted 370001/5000000 records (82693.07 records/sec, 7.40% complete)
Inserted 380001/5000000 records (81754.42 records/sec, 7.60% complete)
Inserted 390001/5000000 records (80461.10 records/sec, 7.80% complete)
Inserted 400001/5000000 records (79300.63 records/sec, 8.00% complete)
Memory Stats:
Alloc = 29 MiB
TotalAlloc = 383 MiB
Sys = 53 MiB
NumGC = 45
Inserted 410001/5000000 records (77896.10 records/sec, 8.20% complete)
Inserted 420001/5000000 records (76437.28 records/sec, 8.40% complete)
Inserted 430001/5000000 records (75106.94 records/sec, 8.60% complete)
Inserted 440001/5000000 records (73078.10 records/sec, 8.80% complete)
Inserted 450001/5000000 records (71637.88 records/sec, 9.00% complete)
Inserted 460001/5000000 records (70715.96 records/sec, 9.20% complete)
Inserted 470001/5000000 records (69783.03 records/sec, 9.40% complete)
Inserted 480001/5000000 records (68918.04 records/sec, 9.60% complete)
Inserted 490001/5000000 records (67952.92 records/sec, 9.80% complete)
Inserted 500001/5000000 records (67064.15 records/sec, 10.00% complete)
Memory Stats:
Alloc = 39 MiB
TotalAlloc = 498 MiB
Sys = 77 MiB
NumGC = 50
Inserted 510001/5000000 records (66246.35 records/sec, 10.20% complete)
Inserted 520001/5000000 records (65470.27 records/sec, 10.40% complete)
Inserted 530001/5000000 records (64653.06 records/sec, 10.60% complete)
Inserted 540001/5000000 records (63804.27 records/sec, 10.80% complete)
Inserted 550001/5000000 records (63049.24 records/sec, 11.00% complete)
Inserted 560001/5000000 records (62285.50 records/sec, 11.20% complete)
Inserted 570001/5000000 records (61567.37 records/sec, 11.40% complete)
Inserted 580001/5000000 records (60786.30 records/sec, 11.60% complete)
Inserted 590001/5000000 records (60068.19 records/sec, 11.80% complete)
Inserted 600001/5000000 records (59383.96 records/sec, 12.00% complete)
Memory Stats:
Alloc = 59 MiB
TotalAlloc = 587 MiB
Sys = 86 MiB
NumGC = 52
Inserted 610001/5000000 records (58754.78 records/sec, 12.20% complete)
Inserted 620001/5000000 records (58053.12 records/sec, 12.40% complete)
Inserted 630001/5000000 records (57413.91 records/sec, 12.60% complete)
Inserted 640001/5000000 records (56691.60 records/sec, 12.80% complete)
Inserted 650001/5000000 records (54960.03 records/sec, 13.00% complete)
Inserted 660001/5000000 records (54121.24 records/sec, 13.20% complete)
Inserted 670001/5000000 records (53131.82 records/sec, 13.40% complete)
Inserted 680001/5000000 records (52052.48 records/sec, 13.60% complete)
Inserted 690001/5000000 records (50448.28 records/sec, 13.80% complete)
Inserted 700001/5000000 records (49346.13 records/sec, 14.00% complete)
Memory Stats:
Alloc = 42 MiB
TotalAlloc = 676 MiB
Sys = 90 MiB
NumGC = 55
Inserted 710001/5000000 records (48860.10 records/sec, 14.20% complete)
Inserted 720001/5000000 records (48426.73 records/sec, 14.40% complete)
Inserted 730001/5000000 records (47848.78 records/sec, 14.60% complete)
Inserted 740001/5000000 records (47336.27 records/sec, 14.80% complete)
Inserted 750001/5000000 records (46630.51 records/sec, 15.00% complete)
Inserted 760001/5000000 records (46250.87 records/sec, 15.20% complete)
Inserted 770001/5000000 records (45849.14 records/sec, 15.40% complete)
Inserted 780001/5000000 records (45474.61 records/sec, 15.60% complete)
Inserted 790001/5000000 records (45115.75 records/sec, 15.80% complete)
Inserted 800001/5000000 records (44788.20 records/sec, 16.00% complete)
Memory Stats:
Alloc = 55 MiB
TotalAlloc = 765 MiB
Sys = 94 MiB
NumGC = 57
Inserted 810001/5000000 records (44454.96 records/sec, 16.20% complete)
Inserted 820001/5000000 records (44166.93 records/sec, 16.40% complete)
Inserted 830001/5000000 records (43864.74 records/sec, 16.60% complete)
Inserted 840001/5000000 records (43570.85 records/sec, 16.80% complete)
Inserted 850001/5000000 records (43292.31 records/sec, 17.00% complete)
Inserted 860001/5000000 records (43020.65 records/sec, 17.20% complete)
Inserted 870001/5000000 records (42752.98 records/sec, 17.40% complete)
Inserted 880001/5000000 records (42472.99 records/sec, 17.60% complete)
Inserted 890001/5000000 records (42211.89 records/sec, 17.80% complete)
Inserted 900001/5000000 records (41957.79 records/sec, 18.00% complete)
Memory Stats:
Alloc = 83 MiB
TotalAlloc = 867 MiB
Sys = 102 MiB
NumGC = 59
Inserted 910001/5000000 records (41668.34 records/sec, 18.20% complete)
Inserted 920001/5000000 records (41384.88 records/sec, 18.40% complete)
Inserted 930001/5000000 records (41138.46 records/sec, 18.60% complete)
Inserted 940001/5000000 records (40886.24 records/sec, 18.80% complete)
Inserted 950001/5000000 records (40609.38 records/sec, 19.00% complete)
Inserted 960001/5000000 records (40376.73 records/sec, 19.20% complete)
Inserted 970001/5000000 records (40152.84 records/sec, 19.40% complete)
Inserted 980001/5000000 records (39933.09 records/sec, 19.60% complete)
Inserted 990001/5000000 records (39678.95 records/sec, 19.80% complete)
Inserted 1000001/5000000 records (39427.34 records/sec, 20.00% complete)
Memory Stats:
Alloc = 86 MiB
TotalAlloc = 995 MiB
Sys = 135 MiB
NumGC = 62
Inserted 1010001/5000000 records (39157.29 records/sec, 20.20% complete)
Inserted 1020001/5000000 records (38889.78 records/sec, 20.40% complete)
Inserted 1030001/5000000 records (38229.09 records/sec, 20.60% complete)
Inserted 1040001/5000000 records (37983.71 records/sec, 20.80% complete)
Inserted 1050001/5000000 records (37789.64 records/sec, 21.00% complete)
Inserted 1060001/5000000 records (37541.66 records/sec, 21.20% complete)
Inserted 1070001/5000000 records (37315.96 records/sec, 21.40% complete)
Inserted 1080001/5000000 records (37107.66 records/sec, 21.60% complete)
Inserted 1090001/5000000 records (36928.34 records/sec, 21.80% complete)
Inserted 1100001/5000000 records (36754.23 records/sec, 22.00% complete)
Memory Stats:
Alloc = 111 MiB
TotalAlloc = 1084 MiB
Sys = 156 MiB
NumGC = 63
Inserted 1110001/5000000 records (36581.13 records/sec, 22.20% complete)
Inserted 1120001/5000000 records (36406.08 records/sec, 22.40% complete)
Inserted 1130001/5000000 records (36237.58 records/sec, 22.60% complete)
Inserted 1140001/5000000 records (36064.81 records/sec, 22.80% complete)
Inserted 1150001/5000000 records (35896.56 records/sec, 23.00% complete)
Inserted 1160001/5000000 records (35722.77 records/sec, 23.20% complete)
Inserted 1170001/5000000 records (35565.04 records/sec, 23.40% complete)
Inserted 1180001/5000000 records (35408.29 records/sec, 23.60% complete)
Inserted 1190001/5000000 records (35219.02 records/sec, 23.80% complete)
Inserted 1200001/5000000 records (35061.07 records/sec, 24.00% complete)
Memory Stats:
Alloc = 132 MiB
TotalAlloc = 1173 MiB
Sys = 164 MiB
NumGC = 64
Inserted 1210001/5000000 records (34908.21 records/sec, 24.20% complete)
Inserted 1220001/5000000 records (34745.04 records/sec, 24.40% complete)
Inserted 1230001/5000000 records (34586.69 records/sec, 24.60% complete)
Inserted 1240001/5000000 records (34423.24 records/sec, 24.80% complete)
Inserted 1250001/5000000 records (34232.43 records/sec, 25.00% complete)
Inserted 1260001/5000000 records (33660.71 records/sec, 25.20% complete)
Inserted 1270001/5000000 records (33387.34 records/sec, 25.40% complete)
Inserted 1280001/5000000 records (33196.41 records/sec, 25.60% complete)
Inserted 1290001/5000000 records (33015.95 records/sec, 25.80% complete)
Inserted 1300001/5000000 records (32847.25 records/sec, 26.00% complete)
Memory Stats:
Alloc = 85 MiB
TotalAlloc = 1261 MiB
Sys = 168 MiB
NumGC = 66
Inserted 1310001/5000000 records (32693.65 records/sec, 26.20% complete)
Inserted 1320001/5000000 records (32568.42 records/sec, 26.40% complete)
Inserted 1330001/5000000 records (32415.35 records/sec, 26.60% complete)
Inserted 1340001/5000000 records (32275.62 records/sec, 26.80% complete)
Inserted 1350001/5000000 records (32143.78 records/sec, 27.00% complete)
Inserted 1360001/5000000 records (32021.36 records/sec, 27.20% complete)
Inserted 1370001/5000000 records (31885.33 records/sec, 27.40% complete)
Inserted 1380001/5000000 records (31745.36 records/sec, 27.60% complete)
Inserted 1390001/5000000 records (31616.12 records/sec, 27.80% complete)
Inserted 1400001/5000000 records (31500.33 records/sec, 28.00% complete)
Memory Stats:
Alloc = 101 MiB
TotalAlloc = 1350 MiB
Sys = 173 MiB
NumGC = 67
Inserted 1410001/5000000 records (31381.37 records/sec, 28.20% complete)
Inserted 1420001/5000000 records (31241.72 records/sec, 28.40% complete)
Inserted 1430001/5000000 records (31116.66 records/sec, 28.60% complete)
Inserted 1440001/5000000 records (30995.13 records/sec, 28.80% complete)
Inserted 1450001/5000000 records (30875.81 records/sec, 29.00% complete)
Inserted 1460001/5000000 records (30528.97 records/sec, 29.20% complete)
Inserted 1470001/5000000 records (30328.71 records/sec, 29.40% complete)
Inserted 1480001/5000000 records (30204.44 records/sec, 29.60% complete)
Inserted 1490001/5000000 records (30089.11 records/sec, 29.80% complete)
Inserted 1500001/5000000 records (29979.49 records/sec, 30.00% complete)
Memory Stats:
Alloc = 119 MiB
TotalAlloc = 1439 MiB
Sys = 173 MiB
NumGC = 68
Inserted 1510001/5000000 records (29875.07 records/sec, 30.20% complete)
Inserted 1520001/5000000 records (29765.11 records/sec, 30.40% complete)
Inserted 1530001/5000000 records (29658.21 records/sec, 30.60% complete)
Inserted 1540001/5000000 records (29563.62 records/sec, 30.80% complete)
Inserted 1550001/5000000 records (29465.33 records/sec, 31.00% complete)
Inserted 1560001/5000000 records (29377.89 records/sec, 31.20% complete)
Inserted 1570001/5000000 records (29288.64 records/sec, 31.40% complete)
Inserted 1580001/5000000 records (29201.66 records/sec, 31.60% complete)
Inserted 1590001/5000000 records (29066.06 records/sec, 31.80% complete)
Inserted 1600001/5000000 records (28976.66 records/sec, 32.00% complete)
Memory Stats:
Alloc = 137 MiB
TotalAlloc = 1527 MiB
Sys = 173 MiB
NumGC = 69
Inserted 1610001/5000000 records (28886.37 records/sec, 32.20% complete)
Inserted 1620001/5000000 records (28786.32 records/sec, 32.40% complete)
Inserted 1630001/5000000 records (28682.91 records/sec, 32.60% complete)
Inserted 1640001/5000000 records (28571.08 records/sec, 32.80% complete)
Inserted 1650001/5000000 records (28276.45 records/sec, 33.00% complete)
Inserted 1660001/5000000 records (28092.68 records/sec, 33.20% complete)
Inserted 1670001/5000000 records (27987.87 records/sec, 33.40% complete)
Inserted 1680001/5000000 records (27895.02 records/sec, 33.60% complete)
Inserted 1690001/5000000 records (27802.19 records/sec, 33.80% complete)
Inserted 1700001/5000000 records (27714.57 records/sec, 34.00% complete)
Memory Stats:
Alloc = 154 MiB
TotalAlloc = 1617 MiB
Sys = 177 MiB
NumGC = 70
Inserted 1710001/5000000 records (27629.23 records/sec, 34.20% complete)
Inserted 1720001/5000000 records (27546.33 records/sec, 34.40% complete)
Inserted 1730001/5000000 records (27462.17 records/sec, 34.60% complete)
Inserted 1740001/5000000 records (27375.40 records/sec, 34.80% complete)
Inserted 1750001/5000000 records (27290.06 records/sec, 35.00% complete)
Inserted 1760001/5000000 records (27214.21 records/sec, 35.20% complete)
Inserted 1770001/5000000 records (27130.13 records/sec, 35.40% complete)
Inserted 1780001/5000000 records (27043.32 records/sec, 35.60% complete)
Inserted 1790001/5000000 records (26964.55 records/sec, 35.80% complete)
Inserted 1800001/5000000 records (26883.22 records/sec, 36.00% complete)
Memory Stats:
Alloc = 126 MiB
TotalAlloc = 1735 MiB
Sys = 193 MiB
NumGC = 72
Inserted 1810001/5000000 records (26790.99 records/sec, 36.20% complete)
Inserted 1820001/5000000 records (26691.56 records/sec, 36.40% complete)
Inserted 1830001/5000000 records (26348.44 records/sec, 36.60% complete)
Inserted 1840001/5000000 records (26169.36 records/sec, 36.80% complete)
Inserted 1850001/5000000 records (26055.36 records/sec, 37.00% complete)
Inserted 1860001/5000000 records (25964.34 records/sec, 37.20% complete)
Inserted 1870001/5000000 records (25872.64 records/sec, 37.40% complete)
Inserted 1880001/5000000 records (25786.21 records/sec, 37.60% complete)
Inserted 1890001/5000000 records (25711.28 records/sec, 37.80% complete)
Inserted 1900001/5000000 records (25635.94 records/sec, 38.00% complete)
Memory Stats:
Alloc = 205 MiB
TotalAlloc = 1883 MiB
Sys = 233 MiB
NumGC = 73
Inserted 1910001/5000000 records (25565.57 records/sec, 38.20% complete)
Inserted 1920001/5000000 records (25489.66 records/sec, 38.40% complete)
Inserted 1930001/5000000 records (25426.73 records/sec, 38.60% complete)
Inserted 1940001/5000000 records (25360.26 records/sec, 38.80% complete)
Inserted 1950001/5000000 records (24973.03 records/sec, 39.00% complete)
Inserted 1960001/5000000 records (24760.82 records/sec, 39.20% complete)
Inserted 1970001/5000000 records (24638.54 records/sec, 39.40% complete)
Inserted 1980001/5000000 records (24559.96 records/sec, 39.60% complete)
Inserted 1990001/5000000 records (24483.71 records/sec, 39.80% complete)
Inserted 2000001/5000000 records (24396.28 records/sec, 40.00% complete)
Memory Stats:
Alloc = 226 MiB
TotalAlloc = 1988 MiB
Sys = 245 MiB
NumGC = 74
Inserted 2010001/5000000 records (24334.18 records/sec, 40.20% complete)
Inserted 2020001/5000000 records (24275.21 records/sec, 40.40% complete)
Inserted 2030001/5000000 records (24215.16 records/sec, 40.60% complete)
Inserted 2040001/5000000 records (24154.34 records/sec, 40.80% complete)
Inserted 2050001/5000000 records (24095.54 records/sec, 41.00% complete)
Inserted 2060001/5000000 records (24031.73 records/sec, 41.20% complete)
Inserted 2070001/5000000 records (23968.13 records/sec, 41.40% complete)
Inserted 2080001/5000000 records (23910.50 records/sec, 41.60% complete)
Inserted 2090001/5000000 records (23852.37 records/sec, 41.80% complete)
Inserted 2100001/5000000 records (23777.35 records/sec, 42.00% complete)
Memory Stats:
Alloc = 196 MiB
TotalAlloc = 2077 MiB
Sys = 283 MiB
NumGC = 75
Inserted 2110001/5000000 records (23615.25 records/sec, 42.20% complete)
Inserted 2120001/5000000 records (23263.37 records/sec, 42.40% complete)
Inserted 2130001/5000000 records (23134.87 records/sec, 42.60% complete)
Inserted 2140001/5000000 records (23056.46 records/sec, 42.80% complete)
Inserted 2150001/5000000 records (22981.62 records/sec, 43.00% complete)
Inserted 2160001/5000000 records (22894.32 records/sec, 43.20% complete)
Inserted 2170001/5000000 records (22778.72 records/sec, 43.40% complete)
Inserted 2180001/5000000 records (22526.44 records/sec, 43.60% complete)
Inserted 2190001/5000000 records (22303.40 records/sec, 43.80% complete)
Inserted 2200001/5000000 records (22171.05 records/sec, 44.00% complete)
Memory Stats:
Alloc = 152 MiB
TotalAlloc = 2166 MiB
Sys = 307 MiB
NumGC = 76
Inserted 2210001/5000000 records (21947.66 records/sec, 44.20% complete)
Inserted 2220001/5000000 records (21775.14 records/sec, 44.40% complete)
Inserted 2230001/5000000 records (21692.55 records/sec, 44.60% complete)
Inserted 2240001/5000000 records (21643.75 records/sec, 44.80% complete)
Inserted 2250001/5000000 records (21555.27 records/sec, 45.00% complete)
Inserted 2260001/5000000 records (21382.33 records/sec, 45.20% complete)
Inserted 2270001/5000000 records (21236.61 records/sec, 45.40% complete)
Inserted 2280001/5000000 records (21125.03 records/sec, 45.60% complete)
Inserted 2290001/5000000 records (21037.66 records/sec, 45.80% complete)
Inserted 2300001/5000000 records (20935.81 records/sec, 46.00% complete)
Memory Stats:
Alloc = 241 MiB
TotalAlloc = 2254 MiB
Sys = 307 MiB
NumGC = 76
Inserted 2310001/5000000 records (20733.19 records/sec, 46.20% complete)
Inserted 2320001/5000000 records (20510.05 records/sec, 46.40% complete)
Inserted 2330001/5000000 records (20432.89 records/sec, 46.60% complete)
Inserted 2340001/5000000 records (20381.63 records/sec, 46.80% complete)
Inserted 2350001/5000000 records (20202.00 records/sec, 47.00% complete)
Inserted 2360001/5000000 records (20031.80 records/sec, 47.20% complete)
Inserted 2370001/5000000 records (19869.01 records/sec, 47.40% complete)
Inserted 2380001/5000000 records (19715.90 records/sec, 47.60% complete)
Inserted 2390001/5000000 records (19510.87 records/sec, 47.80% complete)
Inserted 2400001/5000000 records (19238.84 records/sec, 48.00% complete)
Memory Stats:
Alloc = 193 MiB
TotalAlloc = 2343 MiB
Sys = 312 MiB
NumGC = 77
Inserted 2410001/5000000 records (19148.86 records/sec, 48.20% complete)
Inserted 2420001/5000000 records (19088.02 records/sec, 48.40% complete)
Inserted 2430001/5000000 records (19052.85 records/sec, 48.60% complete)
Inserted 2440001/5000000 records (19023.59 records/sec, 48.80% complete)
Inserted 2450001/5000000 records (18997.75 records/sec, 49.00% complete)
Inserted 2460001/5000000 records (18962.55 records/sec, 49.20% complete)
Inserted 2470001/5000000 records (18931.93 records/sec, 49.40% complete)
Inserted 2480001/5000000 records (18846.14 records/sec, 49.60% complete)
Inserted 2490001/5000000 records (18564.16 records/sec, 49.80% complete)
Inserted 2500001/5000000 records (18475.77 records/sec, 50.00% complete)
Memory Stats:
Alloc = 282 MiB
TotalAlloc = 2432 MiB
Sys = 312 MiB
NumGC = 77
Inserted 2510001/5000000 records (18427.41 records/sec, 50.20% complete)
Inserted 2520001/5000000 records (18390.35 records/sec, 50.40% complete)
Inserted 2530001/5000000 records (18364.08 records/sec, 50.60% complete)
Inserted 2540001/5000000 records (18338.73 records/sec, 50.80% complete)
Inserted 2550001/5000000 records (18317.97 records/sec, 51.00% complete)
Inserted 2560001/5000000 records (18296.94 records/sec, 51.20% complete)
Inserted 2570001/5000000 records (18274.40 records/sec, 51.40% complete)
Inserted 2580001/5000000 records (18152.55 records/sec, 51.60% complete)
Inserted 2590001/5000000 records (17881.43 records/sec, 51.80% complete)
Inserted 2600001/5000000 records (17789.03 records/sec, 52.00% complete)
Memory Stats:
Alloc = 233 MiB
TotalAlloc = 2520 MiB
Sys = 316 MiB
NumGC = 78
Inserted 2610001/5000000 records (17726.47 records/sec, 52.20% complete)
Inserted 2620001/5000000 records (17636.13 records/sec, 52.40% complete)
Inserted 2630001/5000000 records (17469.54 records/sec, 52.60% complete)
Inserted 2640001/5000000 records (17316.64 records/sec, 52.80% complete)
Inserted 2650001/5000000 records (17207.90 records/sec, 53.00% complete)
Inserted 2660001/5000000 records (17135.24 records/sec, 53.20% complete)
Inserted 2670001/5000000 records (16991.57 records/sec, 53.40% complete)
Inserted 2680001/5000000 records (16861.45 records/sec, 53.60% complete)
Inserted 2690001/5000000 records (16816.76 records/sec, 53.80% complete)
Inserted 2700001/5000000 records (16761.47 records/sec, 54.00% complete)
Memory Stats:
Alloc = 183 MiB
TotalAlloc = 2609 MiB
Sys = 320 MiB
NumGC = 79
Inserted 2710001/5000000 records (16647.67 records/sec, 54.20% complete)
Inserted 2720001/5000000 records (16528.41 records/sec, 54.40% complete)
Inserted 2730001/5000000 records (16489.64 records/sec, 54.60% complete)
Inserted 2740001/5000000 records (16460.15 records/sec, 54.80% complete)
Inserted 2750001/5000000 records (16439.40 records/sec, 55.00% complete)
Inserted 2760001/5000000 records (16415.91 records/sec, 55.20% complete)
Inserted 2770001/5000000 records (16296.32 records/sec, 55.40% complete)
Inserted 2780001/5000000 records (16142.03 records/sec, 55.60% complete)
Inserted 2790001/5000000 records (16063.73 records/sec, 55.80% complete)
Inserted 2800001/5000000 records (15942.27 records/sec, 56.00% complete)
Memory Stats:
Alloc = 272 MiB
TotalAlloc = 2698 MiB
Sys = 320 MiB
NumGC = 79
Inserted 2810001/5000000 records (15859.64 records/sec, 56.20% complete)
Inserted 2820001/5000000 records (15812.98 records/sec, 56.40% complete)
Inserted 2830001/5000000 records (15758.03 records/sec, 56.60% complete)
Inserted 2840001/5000000 records (15703.48 records/sec, 56.80% complete)
Inserted 2850001/5000000 records (15628.59 records/sec, 57.00% complete)
Inserted 2860001/5000000 records (15597.23 records/sec, 57.20% complete)
Inserted 2870001/5000000 records (15509.82 records/sec, 57.40% complete)
Inserted 2880001/5000000 records (15477.58 records/sec, 57.60% complete)
Inserted 2890001/5000000 records (15455.81 records/sec, 57.80% complete)
Inserted 2900001/5000000 records (15439.46 records/sec, 58.00% complete)
Memory Stats:
Alloc = 221 MiB
TotalAlloc = 2786 MiB
Sys = 324 MiB
NumGC = 80
Inserted 2910001/5000000 records (15428.03 records/sec, 58.20% complete)
Inserted 2920001/5000000 records (15418.42 records/sec, 58.40% complete)
Inserted 2930001/5000000 records (15406.79 records/sec, 58.60% complete)
Inserted 2940001/5000000 records (15336.27 records/sec, 58.80% complete)
Inserted 2950001/5000000 records (15304.38 records/sec, 59.00% complete)
Inserted 2960001/5000000 records (15227.47 records/sec, 59.20% complete)
Inserted 2970001/5000000 records (15070.35 records/sec, 59.40% complete)
Inserted 2980001/5000000 records (15005.97 records/sec, 59.60% complete)
Inserted 2990001/5000000 records (14960.33 records/sec, 59.80% complete)
Inserted 3000001/5000000 records (14882.33 records/sec, 60.00% complete)
Memory Stats:
Alloc = 167 MiB
TotalAlloc = 2875 MiB
Sys = 332 MiB
NumGC = 81
Inserted 3010001/5000000 records (14813.37 records/sec, 60.20% complete)
Inserted 3020001/5000000 records (14716.51 records/sec, 60.40% complete)
Inserted 3030001/5000000 records (14643.27 records/sec, 60.60% complete)
Inserted 3040001/5000000 records (14613.66 records/sec, 60.80% complete)
Inserted 3050001/5000000 records (14595.95 records/sec, 61.00% complete)
Inserted 3060001/5000000 records (14585.25 records/sec, 61.20% complete)
Inserted 3070001/5000000 records (14574.73 records/sec, 61.40% complete)
Inserted 3080001/5000000 records (14562.46 records/sec, 61.60% complete)
Inserted 3090001/5000000 records (14555.10 records/sec, 61.80% complete)
Inserted 3100001/5000000 records (14548.41 records/sec, 62.00% complete)
Memory Stats:
Alloc = 256 MiB
TotalAlloc = 2964 MiB
Sys = 332 MiB
NumGC = 81
Inserted 3110001/5000000 records (14542.00 records/sec, 62.20% complete)
Inserted 3120001/5000000 records (14534.96 records/sec, 62.40% complete)
Inserted 3130001/5000000 records (14464.33 records/sec, 62.60% complete)
Inserted 3140001/5000000 records (14427.07 records/sec, 62.80% complete)
Inserted 3150001/5000000 records (14407.54 records/sec, 63.00% complete)
Inserted 3160001/5000000 records (14394.61 records/sec, 63.20% complete)
Inserted 3170001/5000000 records (14386.22 records/sec, 63.40% complete)
Inserted 3180001/5000000 records (14377.75 records/sec, 63.60% complete)
Inserted 3190001/5000000 records (14372.02 records/sec, 63.80% complete)
Inserted 3200001/5000000 records (14364.45 records/sec, 64.00% complete)
Memory Stats:
Alloc = 197 MiB
TotalAlloc = 3052 MiB
Sys = 337 MiB
NumGC = 82
Inserted 3210001/5000000 records (14359.22 records/sec, 64.20% complete)
Inserted 3220001/5000000 records (14355.91 records/sec, 64.40% complete)
Inserted 3230001/5000000 records (14352.17 records/sec, 64.60% complete)
^C
./main 51.18s user 91.83s system 63% cpu 3:45.39 total
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment