alexyk has quit [Read error: 110 (Connection timed out)]
alexyk_ has quit []
alexyk has joined #ocaml
jeddhaberstro has joined #ocaml
caligula has quit [Read error: 104 (Connection reset by peer)]
blizz2 has quit []
caligula has joined #ocaml
jeddhaberstro has quit []
alexyk has quit []
alexyk has joined #ocaml
johnnowak has joined #ocaml
Jedai has quit [Connection timed out]
Jedai has joined #ocaml
Morphous has quit [Read error: 110 (Connection timed out)]
Morphous has joined #ocaml
Jedai has quit [Connection timed out]
Jedai has joined #ocaml
alexyk has quit []
jeddhaberstro has joined #ocaml
alexyk_ has joined #ocaml
alexyk_ has quit []
alexyk_ has joined #ocaml
mohbana has quit [Read error: 54 (Connection reset by peer)]
alexyk_ has quit []
alexyk has joined #ocaml
alexyk has quit [Client Quit]
Jedai has quit [Read error: 110 (Connection timed out)]
Jedai has joined #ocaml
alexyk has joined #ocaml
jeddhaberstro has quit []
bzzbzz has quit ["leaving"]
johnnowak has quit []
Axioplase has joined #ocaml
Jedai has quit [Read error: 110 (Connection timed out)]
Jedai has joined #ocaml
Jedai has quit [Read error: 110 (Connection timed out)]
Jedai has joined #ocaml
Jedai has quit [Read error: 60 (Operation timed out)]
Jedai has joined #ocaml
alexyk has quit []
Jedai has quit [Read error: 110 (Connection timed out)]
Jedai has joined #ocaml
Associat0r has joined #ocaml
johnnowak has joined #ocaml
|jedai| has joined #ocaml
Jedai has quit [Read error: 110 (Connection timed out)]
Associat0r has quit []
Guest14583 is now known as purple__
ikaros has joined #ocaml
cataska has joined #ocaml
johnnowak has quit []
ygrek has joined #ocaml
ikaros has quit [No route to host]
ygrek has quit [Remote closed the connection]
mishok13 has joined #ocaml
vixey has joined #ocaml
johnnowak has joined #ocaml
|jedai| has quit [Read error: 145 (Connection timed out)]
|jedai| has joined #ocaml
munificent has joined #ocaml
sporkmonger has quit []
ygrek has joined #ocaml
|jedai| has quit [Read error: 110 (Connection timed out)]
|jedai| has joined #ocaml
ikaros has joined #ocaml
_zack has joined #ocaml
l_a_m_ has joined #ocaml
olgen has joined #ocaml
ikaros has quit [".quit"]
smimram has joined #ocaml
rwmjones has joined #ocaml
smimou has quit [Read error: 110 (Connection timed out)]
fschwidom has joined #ocaml
Nazz has joined #ocaml
ikaros has joined #ocaml
|jedai| has quit [Connection timed out]
|jedai| has joined #ocaml
Axioplase is now known as Axioplase_
Stefan_vK has quit ["Leaving."]
fschwidom has quit [Read error: 60 (Operation timed out)]
Stefan_vK has joined #ocaml
Koordin has joined #ocaml
fschwidom has joined #ocaml
|jedai| has quit [Read error: 110 (Connection timed out)]
|jedai| has joined #ocaml
ygrek has quit [Remote closed the connection]
munificent has quit []
* rwmjones
wonders how to print a ctyp in camlp4 ...
sporkmonger has joined #ocaml
OChameau has joined #ocaml
zerny has joined #ocaml
marmotine has joined #ocaml
sporkmonger has quit []
alexyk has joined #ocaml
<flux>
gildor, that laptop cooler might not be such a bad idea, given that this freezer-freezable medical cold pack is working great :)
<flux>
I'm not so sure how such a cooler works on my lap, though..
<flux>
it's also difficult to believe such a cooler would be as efficient as this :)
<flux>
the keyboard is cooling down..
ygrek has joined #ocaml
<gildor>
flux: well I use this kind of cooler to cool my desktop computer (my desktop computer is special) and an external HDD
<gildor>
both are reaching 45°C when its 30°C outside
<gildor>
with the cooler I get 35°C
<flux>
it's ~24C here (in the room), and the laptop was reaching 37 naturally, and 27 with ice pack
<flux>
I suppose it might be possible to get comparable results with such a unit then
<gildor>
You will probably get between 27 and 30°C with cooler
<gildor>
(this is 2x12cm fan)
<flux>
how's the volume?
<flux>
or rather, noise level
<gildor>
quite low
<gildor>
(FYI, my desktop computer is fanless, I hate computer making noise, so you can imagine I won't lie about noise)
<flux>
well, it's so cheap that I can just give it a try. although it's an order-only product in the national (largest) computer store.
<flux>
if only the hdd was replaced with an ssd, and the laptop would be completely silent..
<gildor>
unfortunately, I won't bet on REAL use of ssd in laptop before 1 or 2 years
<gildor>
for now, this kind of device are either "on" or "off"
<gildor>
with "on" = full power and "off" = low power
<gildor>
given this fact SSD have an average power consumption >= HDD
<gildor>
which is no good for laptop ;-)
<flux>
depends how you use it
<gildor>
(sorry for being totally HS regarding OCaml)
<flux>
:-)
<flux>
I bet at my current usage (ircing), a non-spinning device would easily beat a spinning one
<flux>
and it's inconvenient (not to mention a power peak) to spin down/up disks
<gildor>
I think SSD maker (Samsung, Mtron, OCZ et al) will spend some more research years and they will probably get something really low power in a few years
<gildor>
but SSD tech. is something really great
<flux>
yes, I would hope the advancements in that field won't stop here :)
<flux>
gildor, btw, could you consider using such a cooler while the device would be on your lap?
<gildor>
which device ?
<flux>
well, I suppose you don't have any device you'd use on your lap
<flux>
but say you did use it for its intended purpose, cooling a laptop ;)
<gildor>
I don't have any SSD if it is the device you are speaking about
<gildor>
and my laptop doesn't need cooling
<gildor>
(extra cooling I mean)
johnnowak has quit []
alexyk has quit []
sporkmonger has joined #ocaml
johnnowak has joined #ocaml
<fremo>
a SSD seems very interesting for some reading intensive applications, seems not for random writing intensive... (considering writing are more frequent than reading due to cache memory...)
<fremo>
(Still oot, sorry) I'm looking forward review or doing some benchmarks about database with SSD...
<flux>
fremo, raided SSD's can give extremely nice numbers in db's. there was one benchmark with something around 9000 IOPs..
<gildor>
fremo: it depends on the kind of SSD you have
<gildor>
fremo: there MLC (multi level cell) and SLC (single level cell)
rwmjones_ has joined #ocaml
rwmjones has quit [Remote closed the connection]
<gildor>
MLC = good read/average write and SLC = good read/good write
<gildor>
but price(SLC) >> price(MLC)
<gildor>
in fact SLC has the same write/read speed
<fremo>
great !
rwmjones_ is now known as rwmjones
|jedai| has quit [Read error: 110 (Connection timed out)]
|jedai| has joined #ocaml
rby has joined #ocaml
<gildor>
rwmjones: ping
fschwidom has quit [Remote closed the connection]
<rwmjones>
gildor, hi
<gildor>
rwmjones: hi
|jedai| has quit [Read error: 110 (Connection timed out)]
|jedai| has joined #ocaml
<gildor>
(if i don't answer, it is because my laptop has connection problem)
<gildor>
just want to know why you introduce "%identity" in the current thread on caml-beginngers list
* rwmjones
lols
<gildor>
I am not sure beginner should begin with this ;-)
<rwmjones>
the guy's a C programmer :-)
<gildor>
you should keep the black magic for the end
<gildor>
indeed, but showing that you can do as "hack"ish in OCaml as in C is not the best way
* gildor
smile
<gildor>
anyway, at least it shows that you have plenty solution
<gildor>
rwmjones: do you plan to come to OCaml Meeting 2009 ?
<rwmjones>
gildor, I would really like to, but unfortunately it seems the date is difficult for me. Actually I don't know for sure either way, and won't until really close to the time.
<gildor>
rwmjones: what is the other date (if you can talk about it)
<rwmjones>
basically the whole end/jan beginning/feb is very difficult for me to do because of other commitments, and I really won't know until right before.
<rwmjones>
I'm hoping it will be possible though
<gildor>
the inscription is closing on 25th january, do you think you will know at this time ?
* gildor
hoping also that rwmjones can come
<gildor>
I think it will be great to have some fedora/libvirt people at the meeting
<gildor>
maybe you can even meet people from Citrix/Xensource
<rwmjones>
gildor, I've met a few of them already. harrop is coming? he was consulting for XS last I heard
<rwmjones>
gildor, anyway, yet I'll know by jan 25
<rwmjones>
s/yet/yes/
<gildor>
rwmjones: don't know if harrop is coming,
<gildor>
rwmjones: XS guys told me that he was not working for them anymore
<gildor>
rwmjones: BTW, I will try to apply i18n to unison using ocaml-gettext
<gildor>
I think it will allow me to take time to solve your bug also
<fremo>
gildor, flux: there is a driver for optimizing random writes apparently by using contiguous free space to do transform random writes into sequencial writes, that are much faster, but it's using a proprietary driver (MFT)...
<rwmjones>
gildor, that's excellent .. we're using ocaml-gettext intensively, so any bug fixes / improvements are welcome
<rwmjones>
provided they don't break the virt-* tools of course :-)
<gildor>
I won't change interface for now, just correct bug/doc and probably add a tool to find translatable string
<gildor>
rwmjones: there is also marionnet project using it
<gildor>
but they have strange bugs
<flux>
fremo, isn't that something any decent block layer device - or scsi firmware - would do? I thought the problem is when you truly have random writes that cannot be sequential (without remapping the blocks on the device anyway)?
<gildor>
fremo: the problem is not with sequential write but with the way data is stored in each memory cell
<gildor>
fremo: in MLC you store more data, but instruction to change the content is more complicated so it implies a loss of time
<mrvn>
Filesystem like jfs (bad for big disks), zfs or btrfs will basically do linear writes.
<flux>
jfs is bad for big disks?
<gildor>
fremo: there is almost nothing you can do with a driver to change the number of instruction to update the content of a cell
<mrvn>
flux: aparently it scales verry badly.
willb has joined #ocaml
<mrvn>
flux: uses lots of ram and takles ages to mount
<mrvn>
gildor: except not update the content of single cells
<gildor>
mrvn: you will stil have to combine the byte to do it
<mrvn>
gildor: zfs and btrfs are COW filesystems. They don't overwrite blocks when their contents change, they write a new one. That allows it to easily write new data sequentially and avoids changing parts of a eraser block.
<rwmjones>
gildor, it contains files without license info
<mrvn>
rwmjones: so that the authors have a chance to clean things up before something more drastic is done
<gildor>
rwmjones: ask smimram, he is the main maintainer for this
<fremo>
flux: If I understand correctly, if you reallocate blocks randomly, you get fragmentation, the point is that SSD have very good perfs for random reads so reading perfs on a fragmented FS are still good (but bad on a normal HD)
<gildor>
(for mldonkey, since I step out for this package)
<rwmjones>
smimram, ping
<gildor>
rwmjones: but legal people never spotted this at my time (maybe the script doesn't detect it)
<mrvn>
fremo: as I understand it SSD has 0 seek time.
<fremo>
gildor: sequencial writes are usually correct on SSD...
<gildor>
mrvn: maybe but I think you still have to use specific way to update the content of the new cell (from (?, ?, ?) to (0, 1, 0))
<smimram>
rwmjones: pong
<gildor>
mrvn: this is not about overwriting but about setting the value
<mrvn>
gildor: No, the problem is updatin (?, ?, ?) to (?, 0, ?).
<mrvn>
gildor: My argument is more that you can just do sequential writes with the right filesystem so what does it matter if random writes differ?
|jedai| has quit [Read error: 145 (Connection timed out)]
<mrvn>
Give it another year to mature and the higher price will wipe the SLC disks from the market I think.
<flux>
mrvn, does NTFS work this way too? because that's what matters market-size-wise?-)
|jedai| has joined #ocaml
<mrvn>
flux: no idea
<gildor>
mrvn: sorry to ask you, but where are you with libaio ?
<gildor>
I am still looking to use it ;-)
<mrvn>
gildor: I've added error handling yesterday so it is nearly ready.
<gildor>
mrvn: ok, you will probably have a first user sooner than you think
<mrvn>
hehe.
<mrvn>
Hopefully I can do some work on it tonight and then upload a first draft.
<flux>
where can I read about libaio? (the original)
<gildor>
man aio_read
<mrvn>
Nope.
<fremo>
is it equivalent to select (or kpoll&co) ?
<mrvn>
totaly different.
<fremo>
and for performances ?
<mrvn>
libaio uses the linux system calls for async I/O. The glibc and librt do use threads I believe.
<mrvn>
fremo: With libaio you queue up reads/writes and they will complete in random order and you get a notice when they do.
<flux>
is it both for networking and filesystem io?
<mrvn>
flux: yes
<gildor>
aio is known to be among the faster way to get data from disk
<gildor>
faster than MMAP
<gildor>
I think it is equivalent to i/o port completion on win32
<mrvn>
Say you have a webserver that serves 2 connects. With select/poll/epoll it would block while it loads a page for one connection from disk. With libaio it fires of the request and then waits for anything to happen.
<mrvn>
So while the page for the first connect is loading from disk it can still server pages for the second request from cache or fire off read requests for it.
<mrvn>
The problem with mmap is that it can't do scatter gathering. It can't reorder read requests. The first access to an unmaped byte blocks till it is read.
<mrvn>
Worse on writes as it first has to read the page before overwriting the first byte. It can't know the whole page is going to be overwritten anyway and skip the read.
<fremo>
mrvn: select with fds in nonblock mode wont block...
<mrvn>
fremo: on filesystem I/O?
<gildor>
fremo: select on FS has an undefined status
<fremo>
I think so, not sure...
<mrvn>
afaik a read on a filesystem always just reads the data.
<fremo>
so it will block ?e
<mrvn>
It doesn't have a buffer that it considers available for reading like sockets or pipes. It considers the whole file available.
<fremo>
too bad...
<fremo>
can you still use select or something similar to know when data is available on a set of fd ? or do you have to try each IO with aio_error ?
<mrvn>
static inline void io_prep_poll(struct iocb *iocb, int fd, int events)
<mrvn>
You wait for an event and that can be a read, write, poll, fsync of fdsync event.
<mrvn>
s/of/or/
thelema_ has quit [Read error: 104 (Connection reset by peer)]
<fremo>
with an ocaml binding ? :)
<mrvn>
that is what I'm working on.
<fremo>
nice
<mrvn>
Well, back to work so I have free time tonight.