Last active
April 11, 2025 17:33
-
-
Save joshdurbin/50378ffea196bfec2144ee8baf61aaf5 to your computer and use it in GitHub Desktop.
non c-go sqlite per testing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
➜ 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 ===") | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
➜ 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