Hi Eric, Hi Roger, Interesting, I found the issue with the "slow solaris issue".
You see in my "queue implementation" I add in a: sqlite3_sleep(1); Essentially I wanted to sleep for "1 millisecond" between sends to the queue (in the send function itself), so that if the sender is sending too fast it allows receivers to get messages On Debian it sleeps for 1 millisecond, BUT on the Solaris VM it sleeps for 1 second!!! Not one millisecond......why??? Why would that be? Could it be that the OS clocks are out? The moment I took this out of the code on Solaris it was super fast just like it was on Debian. Any ideas? Lynton -----Original Message----- From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Eric Smith Sent: 20 November 2010 09:13 PM To: General Discussion of SQLite Database Subject: Re: [sqlite] SQLite really SLOW on Solaris? Lynton Grice wrote: > Many thanks for your feedback, much appreciated ;-) > > But why would that happen on Solaris and not Debian? Did you try it on real OSs & not VMs? Are you sure the host OS is giving the same compute & disk slices to the VMs? Any other differences in those mappings? Are the VMs running on the same host box? If not, are they running on the same hardware and host OS? Along the lines of Roger's comment, some VM implementations have OS clocks that simply don't work right -- they run too fast or too slow (I have personally observed differences of up to 3x), because they assume they are on real hardware. Have you tested that? Did you try compiling it with profiling data turned on to see where the bottlenecks are (using gcc's -pg flag plus gprof(1))? Or, as a simpler test, you could run your app from strace(1) (assuming solaris has such a thing) to see if you are spending loads of time in system calls as Roger hypothesized. > Also, how would I pass the -D flags? Do I do that when I compile SQLite? Yes -- those are arguments to GCC that are similar to writing a #define compiler directive into your code. So saying gcc -DFOO=bar ... would be like writing #define FOO bar into the code. The sqlite.org docs describe what they do pretty well iirc. Eric -- Eric A. Smith You can observe a lot by watching. -- Yogi Berra _______________________________________________ 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