I'm running some performance tests on the lsm storage engine, and an issue has cropped up for me. I retrieved the sqlite4 code from the repository about a week ago.
I'm doing a simple single threaded test to see what kind of performance I can get on write transactions. After completing the write test, I run another program to read the DB, and all the writes are not there. Here's are the config options I set before calling lsm_open. int iVal = 0; lsm_config(db, LSM_CONFIG_MULTIPLE_PROCESSES, &iVal); lsm_config(db, LSM_CONFIG_USE_LOG, &iVal); iVal = 4096; lsm_config(db, LSM_CONFIG_AUTOFLUSH, &iVal); iVal = 8192; lsm_config(db, LSM_CONFIG_AUTOCHECKPOINT, &iVal); If logging is on, there is no issue, all writes are in the DB. But since I'm trying to increase performance I turn this off. >From reading the documentation I was assuming the LSM_CONFIG_AUTOCHECKPOINT setting should sync the writes in memory to disk at 8MB (per my setting, default is 2 MB). I'm performing no explicit commits or checkpoints. I'm simply calling lsm_insert to write data to the DB. Perhaps this is where I'm confused about the expected behavior. Could anyone correct me where I'm wrong on my assumptions, or could there be an issue with this? Thanks, Rob _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users