VPSPulse Mirrors

High-Performance Open-Source Archive

Benchmarking the CodelistGenerator R package

Benchmarking the CodelistGenerator R package

To check the performance of the CodelistGenerator package, we can use the benchmarkCodelistGenerator(). This function generates some hypothetical study codelists using various settings and times to check how long these analyses take.

We can start for example by benchmarking our mock data, which uses duckdb.

library(DBI)
library(duckdb)
library(dplyr)
library(CDMConnector)
library(CodelistGenerator)
library(visOmopResults)

# Connect to the database and create the cdm object
con <- dbConnect(duckdb(), 
                      eunomiaDir("synpuf-1k", "5.3"))
cdm <- cdmFromCon(con = con, 
                  cdmName = "Eunomia Synpuf",
                  cdmSchema   = "main",
                  writeSchema = "main", 
                  achillesSchema = "main")

timings <- benchmarkCodelistGenerator(cdm)

visOmopTable(timings,
             hide = c("variable_name", "variable_level", "strata_name", "strata_level"),
             groupColumn = "task")
CDM name Dbms N person N concepts Estimate name Estimate value
Getting drug ingredient codes (acetaminophen, codeine, adalimumab)
Eunomia Synpuf duckdb 1,000 6,224,227 time_taken_minutes 0.01
Getting atc codes (atc 1st level, 1 name of interest)
Eunomia Synpuf duckdb 1,000 6,224,227 time_taken_minutes 0.02
Getting candidate codes for dementia, excluding `child`, within all domains, and all options set to true
Eunomia Synpuf duckdb 1,000 6,224,227 time_taken_minutes 0.04

Need mirroring services?
Contact our team at info@vpspulse.com.

Mirror powered by VPSpulse

Infrastructure sponsored by VPSPulse & Secure Payments by ArionPay.