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 a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.
This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.