--- Log opened Sun Jun 09 00:00:50 2013 |
00:46 | | Turaiel is now known as Turaiel[Offline] |
00:56 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Client closed the connection] |
01:01 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
01:02 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
01:03 | | VirusJTG_ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
01:05 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
01:29 | | You're now known as TheWatcher[T-2] |
01:36 | | You're now known as TheWatcher[zZzZ] |
01:37 | | Turaiel[Offline] is now known as Turaiel |
01:53 | <@McMartin> | Azash: https://hkn.eecs.berkeley.edu/~mcmartin/games/DD/mncl_api.txt is up |
02:40 | | Vorntastic [Vorn@Nightstar-16a3c925.sub-70-211-6.myvzw.com] has joined #code |
03:10 | | Turaiel is now known as TurShower |
03:12 | | VirusJTG__ [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
03:21 | <@McMartin> | Woo, my implementation of that API is now drafted. |
03:22 | <@McMartin> | Unfortunately, my test code has not been updated to deal with it and also includes drafted Layer 2 stuff that I have no materials for~ |
03:32 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Client closed the connection] |
03:37 | | Chutzpah [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
03:38 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
03:38 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
03:39 | | Harlow [Harlow@Nightstar-fe8a1f12.il.comcast.net] has joined #code |
03:40 | < Harlow> | any one here worked with CUDA or Direct Compute? |
03:43 | | Vorntastic [Vorn@Nightstar-16a3c925.sub-70-211-6.myvzw.com] has quit [[NS] Quit: Bye] |
03:43 | | TurShower is now known as Turaiel |
03:50 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
03:50 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
03:50 | | mode/#code [+ao Derakon Derakon] by ChanServ |
04:04 | | Kindamoody[zZz] is now known as Kindamoody |
04:17 | | Typh[Offline] is now known as Typherix |
04:35 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection reset by peer] |
05:33 | | Typherix is now known as Typh[Offline] |
06:02 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
06:02 | | mode/#code [+o himi] by ChanServ |
06:42 | | Harlow [Harlow@Nightstar-fe8a1f12.il.comcast.net] has left #code ["Leaving"] |
07:20 | | Turaiel is now known as Turaiel[Offline] |
07:38 | | Kindamoody is now known as Kindamoody|out |
08:59 | | AverageJoe [evil1@61024F.B1DB7D.E87B5D.526FE4] has joined #code |
09:10 | <@Azash> | McMartin: Looks good, after a cursory browsing-through |
09:15 | <@McMartin> | Good times |
09:15 | <@McMartin> | I've actually got an implementation nearly to the point where I can start a github repo for the thing |
09:17 | <@Azash> | \o/ |
09:17 | <@Azash> | B-but McMartin, whatever happened to commit early commit often? |
09:20 | <@McMartin> | I started out in CVS, where that wasn't true~ |
09:20 | <@McMartin> | Also, regardless of commit frequency, that says nothing about when you *push*. |
09:23 | <@Azash> | True, you still only had the skeleton in the repo |
09:24 | <@McMartin> | My plan is at least to update that with a properly MD'd version of the API, expanded with the stuff I found to be missing when I did my implementation |
09:25 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
09:31 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
09:31 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
09:55 | <@McMartin> | https://github.com/michaelcmartin/monocle/blob/master/doc/api.md |
09:55 | <@McMartin> | \o/ |
09:56 | <@McMartin> | Differences from what you saw: the Raw Data component has some python-struct-like functionality added in, and the layer-1 acquire/release functions have been renamed alloc/free for accuracy. The refcounting for them will be happening at layer 2. |
10:06 | <@McMartin> | Oh, also some extra functions for the music stuff because there was no reason to not expose them. |
10:16 | <@Azash> | Looks good |
10:23 | | You're now known as TheWatcher |
10:35 | <@McMartin> | Aaand, I can make things link with -lmonocle |
10:36 | <@McMartin> | Hm. Obvious layer 0 extension is to set the window title. |
10:36 | <@McMartin> | And maybe I can get icons to work, maybe. ISTR that being kind of jerkish. |
10:39 | <@McMartin> | Oh, SDL_WM_SetIcon. OK, I can wrap that. |
10:40 | <@McMartin> | Oop, there's the jerkosity. It basically has to be a 32x32 .bmp file. |
10:52 | | AverageJoe [evil1@61024F.B1DB7D.E87B5D.526FE4] has quit [[NS] Quit: Leaving] |
13:01 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
13:18 | <@sshine> | hmm |
13:21 | <&ToxicFrog> | Helpful cats, unplugging my laptop in the night. |
13:41 | < RichyB> | ToxicFrog: omg that's so clawpunk~ |
13:42 | < RichyB> | They're learning, adapting, improving, murdering us all~~~~ |
13:49 | <@sshine> | I'm using k-nearest neighbor as a classification algorithm, and while I can calculate the k nearest objects for each object (either naively in O(n^2), or using a k-d tree in O(n lg n)), I can't seem to find a good way to get from that relation to a set of k well-chosen classes. I could pick k objects at random, and for each of these, choose the nearest object and classify it the same and remove it from the pool, do that for each class, until ... |
13:49 | <@sshine> | ... there are no objects left. this way I get equally large classes, and it's still a heuristic. |
13:52 | <@sshine> | or I could choose one object at random, classify its five nearest neighbors the same, for each of those, classify their nearest neighbors the same. I might end up with one big class that way. or I might end up with the right amount of classes that are actually disjunct. |
13:52 | <@sshine> | but I don't like the uncertainty of that. |
14:14 | | Kindamoody|out is now known as Kindamoody |
14:23 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: ] |
14:30 | <&jerith> | McMartin: Once you have some Monocle code, I'm fairly interested in writing Python bindings for it. |
14:31 | <&jerith> | Also, why "uninit" rather than "deinit"? |
14:34 | <@McMartin> | Because I hear more of uninitialization than deinitialization. |
14:35 | <@McMartin> | How much experience do you have with Python FFI, idly? |
14:35 | <@McMartin> | Because I'm leaning towards a callback system and I have no idea how actually sane that is for something that hopes to be FFI. |
14:35 | <@McMartin> | I might need to supplement it with some kind of super-abstract event loop |
14:35 | <&jerith> | McMartin: Quite a lot with cffi, which is currently the best way to do it. |
14:35 | <@McMartin> | Can Python callables be organized in some way that you can call into C which then calls back into Python? |
14:36 | <&jerith> | Rather less with the CPython C API and ctypes, none with any of the others. |
14:36 | <&jerith> | McMartin: Yes. I do that extensively in claypellet. |
14:36 | <@McMartin> | Great, that'll help. |
14:36 | <&jerith> | (I'm actually using cffi back-to-front there, in that I'm implementing a C API in Python.) |
14:36 | <@McMartin> | Though if it's actually easier to do it with a highly abstract event loop I may just go with that too~ |
14:37 | <@McMartin> | One thing this exercise did was show how much simpler you can make an API while actually gaining in power. -_- |
14:38 | <@McMartin> | Anyway |
14:38 | <&jerith> | Actually building the callback function in cffi is hideously slow (several seconds for the ~200 I do in claypellet), but that only happens once at startup and is probably a thing that will be fixed when someone gets around to it. |
14:38 | <@McMartin> | My goal for today is to get the codebase in a form where make produces usable artifacts, and then a program to exercise some of it. |
14:39 | <@McMartin> | My secondary goal is to get something that at least smoke tests every single function, but I'm not sure I'll get that far~ |
14:39 | <&jerith> | Unit tests! |
14:39 | <@McMartin> | Unit-testing graphical display operations is a royal pain in the ass, and unit-testing user input handling is worse~ |
14:39 | <&jerith> | (Which are kind of hard for this sort of thing.) |
14:40 | <@froztbyte> | I've been pondering doing something with phash for graphical testing |
14:40 | <@froztbyte> | (because I have a somewhat-in-the-future need of ensuring that rtmp streams are alive and pushing content) |
14:40 | <@McMartin> | The issue here is that some of the test cases are going to be things like "when you invert these two function calls, song X plays instead of song Y" |
14:41 | <@froztbyte> | http://www.phash.org/ fwiw |
14:41 | <@McMartin> | But honestly, the nastiest cases are going to boil down to "SDL_mixer doesn't segfault on program exit like it always fucking does" |
14:41 | <@McMartin> | It has super-persnickety object ownership requirements that are not documented anywhere. |
14:42 | <@McMartin> | I'm *pretty* sure I've hidden away the mechanisms of it enough that the end user can't put it in a bad state, but there's probably still more ways hiding. |
14:42 | <&jerith> | McMartin: Can't you stub out SDL and just assert that you're calling it right? |
14:42 | <@McMartin> | No~ |
14:42 | <@McMartin> | Because that would require stating what correct behavior is for SDL_mixer |
14:42 | <@McMartin> | Which is exactly the problem |
14:43 | <@Tamber> | "Nobody expects the SDL Mixer! Our weapons are fear and SIGSEGV [...]" |
14:44 | <&jerith> | Well, assert that you're calling it the way you were before, at least.~ |
14:44 | <@McMartin> | Well, that's kinda the thing |
14:44 | <@McMartin> | I have a setup that does that now |
14:44 | <@froztbyte> | what does SDL Mixer do? audio channel mixing stuff? |
14:44 | <@McMartin> | And there aren't any API breaks in Monocle that let you violate those invariants |
14:44 | <&jerith> | Cool. |
14:45 | <@McMartin> | Yeah, it's music and SFX and it's Not A Complete Nightmare To Interface With, Unlike Every Single Other One |
14:45 | <@McMartin> | In part because it's also "very weak" |
14:45 | <@froztbyte> | I finally got to use gstreamer the other day |
14:45 | <@froztbyte> | gstreamer is pretty goddamn fucking terrible |
14:45 | <@McMartin> | But it's no worse than what Game Maker uses, and it doesn't become super-problematic until you start adding voice acting |
14:45 | <@McMartin> | Pulse audio is kind of a horror too |
14:45 | <@McMartin> | So yeah, Mixer is the Least Bad Option because I have A Thing That Works |
14:45 | <@froztbyte> | mmm, kinda sorta |
14:46 | <@McMartin> | But the only way I can tell if it's safe for me to halve my RAM usage is to basically try it and check for segfaults~ |
14:46 | <@froztbyte> | pulse, aside from the gigantic buffer delays, has worked for me on everything I've needed it to work on |
14:46 | <@McMartin> | It's more the "everything is async and the API is set up in a way that you have to code your sequence bass-ackwards" |
14:46 | <@froztbyte> | (the buffer delays are kinda retarded on video, etc, but I know there's a -rt branch and some other work being done on it) |
14:46 | <@McMartin> | That got up in my grill |
14:46 | <@McMartin> | Audio buffering is A Problem |
14:46 | <@froztbyte> | McMartin: I'm talking from a userland side here |
14:47 | <@froztbyte> | I've not had to deal with it programmatically |
14:47 | <@froztbyte> | a lot of people usually rage about pulse "not working", which tends to invariably mean "my application is shit and it looks for esd" or something like that |
14:47 | <@McMartin> | Anyway. |
14:48 | <@McMartin> | SDL_Mixer's programming paradigm is that at any given time you have 0 or 1 pieces of BGM playing, and between 0 and N for some set-at-init-time N SFX playing |
14:48 | <@froztbyte> | Background Music? |
14:48 | <@McMartin> | So that's N+1 channels, one of which is dedicated to .ogg/.mp3/mikmod and the others to .wav files |
14:48 | <@McMartin> | Yeah |
14:48 | <@McMartin> | There is A Music Slot |
14:48 | <@froztbyte> | that does seem pretty limited |
14:49 | <@froztbyte> | but I suppose that's also why their mux tends to work better than alternatives |
14:49 | <@McMartin> | Yeah |
14:49 | <@McMartin> | And TBH for console-style games, that's exactly what you want |
14:49 | <@froztbyte> | you just need time tracking |
14:49 | <@froztbyte> | and then mux in quantized chunks |
14:50 | <@McMartin> | Well |
14:50 | <@froztbyte> | which is easypeasy |
14:50 | <@McMartin> | SDL's basic audio interface is "here is a callback that you can call me with and I will fill your buffer when you ask for it" |
14:50 | <@McMartin> | And then that can be fed by the decoders and muxers and you can roll with that |
14:50 | <@froztbyte> | hehe |
14:50 | <@McMartin> | UQM wound up doing this, largely replicating a lot of OpenAL, but without the causing Linux systems to actually explode thing |
14:51 | <@McMartin> | (OpenAL is super unstable at wide deployments) |
14:51 | <@McMartin> | The guy that did PhysicsFS also did his own SDL-based audio driver |
14:51 | <@McMartin> | But my goal here is to basically try to be A Decent Fraction Of Game Maker Studio |
14:51 | <@froztbyte> | hehe |
14:51 | <@McMartin> | And SDL_Mixer tracks what that did, but with better support for tracker music |
14:51 | <@McMartin> | So I'm pretty much calling that done |
14:53 | <@McMartin> | Once I get some basic stuff working - which is all the multimedia output parts - then I can move on to the metadata-laden-media level, which means integrating a JSON parser into it. |
14:53 | <@McMartin> | I have one picked out, but it uses SCons and produces a standalone .a with C++ bindings |
14:53 | <@McMartin> | I need to meld it into my own .a and hide it away and come up with a C-friendly interface for it |
14:56 | | Kindamoody is now known as Kindamoody|afk |
14:59 | <@McMartin> | Also work out how to safely do reference counting |
15:00 | <@McMartin> | While keeping the C-like semantics for acquire/release |
15:00 | <@McMartin> | Which was a bitch =( |
15:02 | | * TheWatcher is curious why the C rather than going c++? I mean, I don't actually /care/, I'm just interested in your reasoning for it |
15:02 | <@froztbyte> | heh |
15:02 | <@froztbyte> | sounds like quite a bunch of work, McMartin |
15:02 | <@McMartin> | TheWatcher: I'm using C++ under the hood. |
15:03 | <@McMartin> | The *API* is C because "being FFI-friendly" is a goal, and there's only one target language in the universe that's a friendly foreigner. |
15:03 | <@TheWatcher> | Aaaah |
15:04 | <@TheWatcher> | Fair enough! |
15:04 | <@TheWatcher> | (masochist~) |
15:04 | <@McMartin> | (It's amazing how much the API was improved by shifting it from C++ to C) |
15:05 | <@McMartin> | But yeah, I'm exploiting the shit out of std::map and std::vector under the hood here. |
15:05 | <&jerith> | Simpler APIs are usually better. |
15:06 | <&jerith> | (As long as they don't try to be simpler than the problem being solved.) |
15:06 | <@sshine> | sounds complex. |
15:06 | <@McMartin> | Yeah |
15:06 | <@McMartin> | and once this is done, I'm probably going to stick a simple C++ wrapper around it |
15:06 | <@McMartin> | But that wrapper will be designed to *link against* the Monocle API, not be a part of the .a |
15:08 | | * TheWatcher wewts, has managed to get his near-scratch Dark Engine script system to work without crashing Thief2 |
15:09 | <@McMartin> | sweet |
15:10 | <@TheWatcher> | Without a single one of the sodding reinterpret_cast<>()s Telliamed was using >.> |
15:11 | <@TheWatcher> | Now to deal with these "Oh, hey, it'd be neat if we had a script to do X" queries... |
15:11 | <@McMartin> | Man, and *I'm* the masochist |
15:13 | < RichyB> | sshine: there's a fairly straightforward algorithm for *picking* classification groups that resembles knn. k-means clustering. |
15:22 | <@sshine> | RichyB, I already did a k-means algorithm, and I even implemented a better initial-centroid-selection algorithm dubbed k-means++ on Wikipedia. |
15:22 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
15:23 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
15:23 | | mode/#code [+ao Derakon Derakon] by ChanServ |
15:23 | < RichyB> | sshine: nifty. |
15:24 | <@sshine> | RichyB, but then I'm asked to use kNN to achieve a clustering algorithm, too. |
15:25 | < RichyB> | Oh, your problem is "I have some computer science homework" rather than "I have these objects to classify". |
15:27 | <@sshine> | RichyB, well, I did implement Bayesian inference for calculating the posterior probability of points belonging to clusters and achieved a clustering algorithm that guesses my labels correctly 99.9% of the time. beyond that point, I haven't really seen the point in k-means/kNN/anything "data mining"-non-statistical methods, except you might get a O(n) heuristic that sucks compared to some algorithm that requires matrix multiplication. |
15:28 | <@sshine> | RichyB, so yes, right now I'm just stuck at mandatory, nonsensical homework like using kNN for clustering purposes. =) |
15:30 | | cpux [cpux@61024F.F5A294.9ABDF5.9AA7B5] has quit [Client closed the connection] |
15:36 | < RichyB> | I really don't understand the question. I've never seen anything about using kNN for picking clusters instead of for applying them. :| |
15:37 | | ErikMesoy [Erik@Nightstar-16aba739.80-203-17.nextgentel.com] has joined #code |
15:47 | <@sshine> | RichyB, neither have I. I've read about "CNN" (Condenced Nearest Neighbor) used for preprocessing a dataset for subsequent k-means clustering. |
15:47 | <@sshine> | Condensed* |
15:48 | <@sshine> | but... matlab apparently does have a ClassificationKNN.fit module. |
15:52 | <@sshine> | *shrug* thanks though! :) |
16:01 | | Kindamoody|afk is now known as Kindamoody |
16:16 | < ErikMesoy> | So I have one of those joke games written in Excel macros, and it appears to require Excel 2007 or 2010. My Excel 2010 is a baby version that doesn't run macros, attempts to try full version require credit card, MS isn't handing out 2007 any more, and OpenOffice does not have sufficient macro handling. Suggestions on which course to pursue? |
16:16 | < ErikMesoy> | Not worth the hassle? Look for ad sites that do hand out 2007? |
16:26 | <&jerith> | ErikMesoy: Ask Vorn, perhaps? He's our resident Excel expert. |
16:27 | < Syka> | ErikMesoy: i'd recommend burning it |
16:39 | | Kindamoody is now known as Kindamoody|GoT |
16:42 | < ErikMesoy> | Syka: burning Excel, or burning the game? |
16:43 | < Syka> | everything in the situation |
16:45 | | Typh[Offline] is now known as Typherix |
17:08 | | Turaiel[Offline] is now known as Turaiel |
17:20 | <@McMartin> | Oof. That's fun, and a bit of a nasty surprise. |
17:25 | | Kindamoody|GoT is now known as Kindamoody |
17:29 | | * ErikMesoy waffles at problem, now has excel shouting about lack of VBA support. Yeah, looks like burning it is a good idea. :P |
17:41 | < RichyB> | Has anybody else tried using linux KVM or QEMU in anger? |
17:41 | < RichyB> | or even any of the libvirtd? |
17:42 | < RichyB> | er, any of the libvirtd-related stuff? |
17:42 | <@froztbyte> | lots |
17:42 | <@froztbyte> | alongside storage as direct block device attachments, lvm, image files on top of other FSs |
17:42 | <@froztbyte> | kvm works pretty well |
17:43 | <@froztbyte> | just disregard the default networking mode, it's retarded |
17:43 | <@froztbyte> | if you want routed, set up a bridge (without bridging in an eth), or otherwise just bridge to eth |
17:44 | <@McMartin> | Hrm. I think I'm running afoul of Linux's gigantic timeslices. |
17:45 | < RichyB> | froztbyte: hrmn. What for? |
17:46 | <@froztbyte> | RichyB: pretty much any vm we built at neology |
17:46 | <@froztbyte> | well, in the last 2~3 years |
17:46 | < RichyB> | I'm trying to make use of virsh in Fedora and it feels like I'm swimming in an endless ocean of lousy fucking bugs. |
17:47 | <@froztbyte> | so, easy way to go about this |
17:47 | <@froztbyte> | install virt-manager (locally) |
17:47 | <@froztbyte> | then just use it to connect to the virt system over ssh |
17:48 | < RichyB> | Am I supposed to be running these VMs as root instead of as my own user? |
17:48 | <@froztbyte> | that probably depends on any of a bunch of weird flags |
17:48 | <@froztbyte> | I've never specifically had to pull that apart 'cos the debian package Just Works(tm) |
17:49 | < RichyB> | So how do you have virt-manager connect via SSH? |
17:49 | <@froztbyte> | I would *not* be surprised if the fedora package came with some fuckedness by default, because afaik the rawhide guys like to push broken shit |
17:49 | <@froztbyte> | RichyB: file->new host |
17:49 | <@froztbyte> | or new connection |
17:49 | <@froztbyte> | or something |
17:49 | <@froztbyte> | first menu basically |
17:49 | < RichyB> | So you'd be connecting to qemu+ssh://root@localhost/... ? |
17:51 | < RichyB> | Oh, backing up one step: are you routinely connecting to qemu://session or qemu://system ? |
17:55 | <@froztbyte> | system, usually |
17:55 | <@froztbyte> | I just enter username and hostname, then go |
17:55 | <@froztbyte> | haven't had to tweak the URL before |
17:56 | <@McMartin> | jerith: I've pushed the initial draft to https://github.com/michaelcmartin/monocle |
17:57 | <@McMartin> | The demo code is pretty terrible, but it runs |
17:58 | <@McMartin> | Entertainingly, I have to use g++ to link with becuase otherwise stuff like std::map doesn't get picked up >_< |
18:06 | <@McMartin> | By which I mean, pages and pages of |
18:06 | <@McMartin> | raw_from_zipfile.cpp:(.text._ZNSt8_Rb_treeISsSt4pairIKSsN7monocle8resource8ZipEn tryEESt10_Select1stIS5_ESt4lessISsESaIS5_EE17_M_insert_unique_ESt23_Rb_tree_cons t_iteratorIS5_ERKS5_[std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, monocle::resource::ZipEntry>, std::_Select1st<std::pair<std::basic_string<char, s |
18:06 | <@McMartin> | That's one error, and I suspect it got cut off. |
18:06 | <@McMartin> | I apologize for that |
18:07 | <@froztbyte> | haha |
18:07 | <@McMartin> | Every reference to a standard library type anywhere is a 21-line error |
18:08 | | [R] is now known as DrDREAM |
18:10 | < RichyB> | froztbyte: hmm. It looks like all of my issues have merely stemmed from really bad defaults. |
18:10 | <@froztbyte> | yeah, this is the kind of thing which put me off fedora in the end :/ |
18:10 | < RichyB> | e.g. virt-install picking raw images instead of qcow2, cirrus instead of any other vga device, etc. |
18:11 | < RichyB> | For some reason virt-install picks "expose the VM via VNC" by default even though the VNC support is slow and buggy. |
18:11 | <@froztbyte> | qcow2 isn't very fast |
18:11 | < RichyB> | Running kvm from the command-line directly causes less drama. |
18:11 | <@froztbyte> | use raw with virtio instead |
18:11 | < RichyB> | Er, snapshots? |
18:12 | <@froztbyte> | that's what makes it slow |
18:12 | < RichyB> | Cheap COW cloning? |
18:12 | <@McMartin> | If snapshots are why you're virtualizing in the first place, turning them off for speed isn't much of a gain |
18:12 | < RichyB> | I appreciate that they slow operation down somewhat but they are precisely the features for which I want virtualisation. |
18:13 | <@froztbyte> | the last time I tried qcow for snapshots, on a disk that could do 130MB/s, I got like 25MB/s in the VM :( |
18:13 | <@froztbyte> | with both thin and pre-prov |
18:13 | <@froztbyte> | McMartin / RichyB: yeah fair enough |
18:13 | <@froztbyte> | VMs for me are cheap dev systems |
18:13 | < RichyB> | Mmm. Let's just try something. |
18:13 | <@froztbyte> | fire up, build host, deploy/test/whatever, burn it down to the ground |
18:17 | < RichyB> | I might be misreading bonnie++'s output, but I think I'm getting about 800MB/s out of a qcow2 image here. |
18:18 | < RichyB> | This is, like you say, a fire-it-up-tear-it-down VM. So I've no need for it to be reliable. So I've specified ",cache=unsafe" as one of the options for its hard disk. |
18:18 | < RichyB> | The fucker fliiiiies when you do that. :) |
18:20 | < RichyB> | Just switching from the IDE interface to virtio, it does Not Badly At All, Thanks. |
18:23 | <@froztbyte> | hahaha |
18:23 | < RichyB> | Final line out of bonnie++, assuming you can read it: |
18:23 | <@froztbyte> | re mountopt |
18:24 | <@froztbyte> | I usually pipe it through bonnie2html because TOO MANY COMMAS |
18:24 | < RichyB> | oh never mind, copy/paste doesn't work. |
18:25 | < RichyB> | Ah thanks. |
18:28 | < RichyB> | Size 2G (I gave the VM 1GB of RAM). Output char 698 K/sec, output block 1069249 K/sec, input char 2832 K/sec, input block 1707955 K/sec. |
18:28 | < RichyB> | Those are all of the sequential numbers. For some reason it just displays "+++++" in the "Random Seeks" cells. o_O |
18:31 | < RichyB> | Minor downside: kvm segfaults (!?) every time it finishes. |
18:31 | < RichyB> | Possibly I have a corrupted qcow2 image here? |
18:31 | <@froztbyte> | rofl |
18:31 | <@froztbyte> | uhm |
18:31 | <@froztbyte> | I wouldn't know |
18:32 | <@froztbyte> | I don't even know how you would debug that |
18:32 | <@froztbyte> | I suppose the openvirt tools might work |
18:32 | <@froztbyte> | there might be some consistency stuff |
19:12 | | Kindamoody is now known as Kindamoody|afk |
19:22 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
19:22 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
19:31 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
19:31 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
19:34 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
19:35 | | Kindamoody|afk is now known as Kindamoody |
19:56 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
19:56 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
19:59 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
19:59 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
19:59 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
20:12 | | Kindamoody is now known as Kindamoody[zZz] |
20:15 | <@Azash> | https://twitter.com/SCClemons/status/343392529913356289 |
20:16 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
20:16 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
20:25 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
20:25 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
20:25 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
20:46 | | ToxicFrog_ [ToxicFrog@490720.652D6C.8773D4.ABFC07] has joined #code |
20:47 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
20:47 | | ToxicFro- [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
20:48 | | ToxicFrog_ [ToxicFrog@490720.652D6C.8773D4.ABFC07] has quit [Operation timed out] |
20:49 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
20:49 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
20:49 | | ToxicFro- [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
20:52 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
20:53 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
20:53 | | ToxicFro- [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
20:55 | | ToxicFrog_ [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
--- Log closed Sun Jun 09 21:13:22 2013 |
--- Log opened Sun Jun 09 21:16:24 2013 |
21:16 | | TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code |
21:16 | | Irssi: #code: Total of 37 nicks [16 ops, 0 halfops, 0 voices, 21 normal] |
21:16 | | mode/#code [+o TheWatcher] by ChanServ |
21:16 | | Reivles [quassel@37647E.4F56B4.0497F4.7DF399] has joined #code |
21:16 | | Irssi: Join to #code was synced in 38 secs |
21:17 | | Reiver [quassel@37647E.4F56B4.0497F4.7DF399] has quit [Ping timeout: 121 seconds] |
21:31 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
21:35 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
21:35 | | mode/#code [+o Syloq] by ChanServ |
21:36 | | Turaiel is now known as Turaiel[Offline] |
21:37 | | Typherix is now known as Typh[Offline] |
21:41 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
21:43 | | Syloq [Syloq@B4EC54.59F324.016BDA.8CB0A3] has joined #code |
21:48 | | mode/#code [+o Syloq] by ChanServ |
22:16 | | DrDREAM is now known as [R] |
22:36 | | Typh[Offline] is now known as Typherix |
22:59 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
22:59 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:14 | | Turaiel[Offline] is now known as Turaiel |
--- Log closed Mon Jun 10 00:00:19 2013 |