Could be different compilation settings for sqlite (or libs). *Jonas Malaco Filho*
2012/7/15 xp <needforspeed1...@gmail.com> > Hi, > > I am a sqlite newbie. I would be very grateful if anyone can answer my > question or point me to the right direction. > > I have a very simple database: > > create table epics_channel( > id integer primary key, > epics_pv text unique, > value_type text, -- current or voltage > value real default 0.0 > ); > --------- Populate EPICS channel table -------------- > insert into epics_channel(epics_pv, value_type) values ('01QM000I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('01MP001I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('01MP002I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('01MP003I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('02MP001I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('02MP002I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('02MP003I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('02MP004I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('02MP005I01', > 'current'); > insert into epics_channel(epics_pv, value_type) values ('02MP006I01', > 'current'); > > And a single c++ code to update the database: > > sqlite3* db; > char* errmsg; > sqlite3_open("example.db", &db); > sqlite3_enable_load_extension(db, 1); > const char* lib = "./libsqliteext.so"; > sqlite3_load_extension(db, lib, 0, &errmsg); > > std::string sql; > sqlite3_stmt* stmt; > > for(int j = 1; j <=10; ++j ) > { > std::stringstream val; > std::stringstream id; > val << a_number; id << j; > sql = "update epics_channel set value = " + val.str() + " where id = " > + > id.str(); > sqlite3_prepare(db, sql.c_str(), -1, &stmt, NULL); > sqlite3_step(stmt); > sqlite3_finalize(stmt); > } > > I ran the same code on a 64bit(scientific linux 6.1) and a 32bit(fedora 17) > linux box. it took 0.113859 sec for the 64bit system to finish, but 14.4922 > sec for the 32bit fedora 17. Can anyone tell me why it was so slow on the > 32bit system? > And I noticed this only happened for the "update". If I use "select", it > took both systems about the same time to finish. > > > -- > View this message in context: > http://sqlite.1065341.n5.nabble.com/Updating-on-32bit-os-slower-than-64bit-tp63292.html > Sent from the SQLite mailing list archive at Nabble.com. > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users