Time Nick Message 02:31 thePalindrome I personally would suggest leaving #4108 open as a marker until a pr is merged for it 02:31 ShadowBot https://github.com/minetest/minetest/issues/4108 -- Requesting override of on_cheat via mods 06:16 Zeno` did anyone aside from paramat look at #4199? 06:16 ShadowBot https://github.com/minetest/minetest/issues/4199 -- Sky: Fix sunrisebg texture motion by paramat 06:17 Zeno` Why am I asking? lol 06:17 Zeno` I'll merge in about 20 minutes if there are no objections 06:33 Zeno` lmfao 06:33 Zeno` https://www.youtube.com/watch?v=V0Zm8XtTBj0 <-- The WEIRDEST sounding "Australian" I've ever heard 06:34 Zeno` is that what people in the US think people in AUS sound like? Really? 06:35 Zeno` sounds like a cross between an American, South African, Newzealander, Chinese 06:35 est31 lol 12:48 yang2003 Wb celeron55 13:10 yang2003 Wb rubenwardy 13:20 yang2003 Wb celeron55 13:23 sfan5 yang2003: are you sure that that might not be a little annoying 13:23 yang2003 Opps.. sorry 17:29 paramat i'll merge #4163 tonight so any last minute comments are welcome 17:29 ShadowBot https://github.com/minetest/minetest/issues/4163 -- Sky: Darker, bluer sky and improved horizon haze at night by paramat 17:29 Zeno` no comments here apart from that I'm ok with it being merged 17:44 paramat afterwards i'll do a code cleanup of sky.cpp 18:26 eriix celeron55: Sorry I didn't get back sooner. Regarding your comment, there are databases representing many different tradeoffs (as well as a large number of redundant ones). Sometimes, one is more apropriate than another. Regarding the specific case of my LMDB backend, it serves my purposes well because I have a system which is both too slow for SQLite3 to be very pleasent and too unreliable for LevelDB to be fun (I really dislike 18:26 eriix calling up python to run the database recovery when it corrupts). LMDB allows me to work around both these things by having a very quick database which is also very reliable. 18:28 eriix Regarging the performance argument, some benchmarking I did on my (admittedly rather slow) laptop can be seen at https://gist.github.com/anonymous/638202a41699f24c80fd4b5457940b74#file-results-md 18:30 celeron55 so LMDB is one of these "better than everything else" databases i see 18:30 celeron55 good thing we have those too lol 18:32 celeron55 eriix: which sqlite_synchronous setting was used for this? 18:33 celeron55 eriix: if it was 1 or 2, can you try with 0? 18:33 eriix It was just Minetest from master with default config all around. 18:33 eriix I'll have a look. 18:33 celeron55 i've been wondering for a long time whether the default should be changed for that setting, but i'm too lazy to do performance tests on this matter 18:33 celeron55 it seems you might be interested about this enough to test 18:34 eriix I know the feeling. Waiting for all those runs to finish got a bit annoying. 18:36 eriix Looks like the default is 2 on non-android. I'll rerun with 0. 18:36 celeron55 this is the explanation for that option of sqlite: https://www.sqlite.org/pragma.html#pragma_synchronous 18:36 celeron55 in my experience, 0 is perfectly stable; but i don't know how much other people have used it; i certainly haven't used it on systems that randomly crash 18:39 eriix It wouldn't be fun on the server I run. It randomly loses power at times. It'll be fine for most people, probably. 18:40 celeron55 well, thing is, it's probably impossible to compare different settings of different databases by just reading their docs 18:40 celeron55 sqlite is known for being very resilient, for one, so who even knows what 0 actually means compared to others 18:41 eriix If it's using journaling and write barriers, it shouldn't be too bad. 19:08 eriix Not sure why I bothered, but synchronous mode now confirmed to have no effect on read performance. Proceeding with write tests. 19:17 celeron55 well, i guess that's somewhat interesting 19:35 eriix https://gist.github.com/ERIIX/3af9a2014f08f1d4d5b04775965aa96b 19:36 eriix Both execution time and total time are both greatly improved by 0, but I do worry about those long sync times. 19:37 eriix For reference, command run was "rm map.sqlite; `which time` minetest --worldname 0 --server --migrate sqlite3 && /usr/bin/time sync". 19:38 eriix (And this time I remembered to log in before making the Gist...) 19:39 celeron55 this means sqlite is faster than leveldb with that configuration, right? 19:40 celeron55 or are these results comparable with the previous ones 19:41 eriix The size of the world has grown slightly, so it's not directly comparable. The new results would be at a slight penalty. 19:42 celeron55 so it's even faster; which of course is useful only if the machine is stable enough 19:42 eriix So, yeah, with no sync, it performs much better than any of the others, which were all synchronous. 19:43 celeron55 i guess sqlite_synchronous=1 would be interesting too 19:44 eriix If the machine itself is stable, that should be sufficient. Basically, as long as the buffers manage to flush, it doesn't matter if the app crashes. 19:44 celeron55 (1 is interesting because it could be a realistic new default if it's markedly faster than 2) 19:44 eriix Okay, I'll go ahead and add that to the tests, as well. For some reason, 1 is already the default on Android. 19:45 celeron55 the sync time will be very interesting 20:01 eriix Since it seems like your primary interest is a comparison with LevelDB, I've added that with the new results for comparison. https://gist.github.com/ERIIX/3af9a2014f08f1d4d5b04775965aa96b now includes all three tested SQLite3 modes and LevelDB. 20:03 eriix Looks like 1 does do better on average, but it's not a big win. According to the docs, the chance of corruption resulting from it is minimal, so that might be enough. I found the final sync times for LevelDB a bit surprising, also. Never even thought to test for that on my first round. 20:05 celeron55 hmm, interesting 20:05 celeron55 this means that sqlite with synchronous=1 is faster than leveldb and leaves less to be synced later than leveldb 20:06 celeron55 well, 20:06 celeron55 as fast as leveldb 20:11 celeron55 i think it could be validly proposed that synchronous=1 would be taken into use on non-android platforms 20:11 celeron55 (i.e. on all platforms)