sjamaan-log added by andyjpb on Wed Jun 24 15:01:39 2015

(12:51:29) andyjpb: i.e. they're slow and the cpu load is low
(12:56:47) zaniyah: disk I/O?
(12:57:08) zaniyah: or is it a lot of network I/O?  I've had a network port saturated before.
zanea|away zaniyah 
(12:57:44) andyjpb: zaniyah: loopback interface
(12:57:58) andyjpb: can one saturate the loopback interface?
(12:58:03) C-Keen: read-file takes an arbitrary reader procedure
(12:58:16) zaniyah: andyjpb: I wouldn't think so
(12:58:16) andyjpb: what did iterrogo optimize? read-u8vector takes 0.68s on my test benchmark
(12:58:29) zaniyah: I don't think it uses the PCI bus either so that can't be the bottleneck
(12:58:34) andyjpb: compared with 0.124s with (string->blob (read-string ...))
(13:00:03) zaniyah: andyjpb: what's the java doing when queried?  Does it look something up in a hashmap or anything like that (assume a database isn't involved and it isn't doing reads from disk)?
(13:00:08) andyjpb: also, despite the doc page saying to pass #f for an unspecified length, I get
(13:00:10) andyjpb:   (stargate-lolevel.scm:130) in procedure call to `read-u8vector', expected argument #1 of type `fixnum', but was given an argument of type `false'
(13:00:15) andyjpb: http://api.call-cc.org/doc/srfi-4
zanea|away zaniyah 
(13:00:28) andyjpb: zaniyah: it's hbase via the stargate rest api
(13:00:36) andyjpb: my next check will be to benchmark the api with curl
(13:00:41) andyjpb: rather than my chicken progam
(13:00:47) andyjpb: if curl is slow then I'll accept it
(13:01:28) sjamaan left the room (quit: Remote host closed the connection).
(13:01:59) zaniyah: andyjpb: oh, hbase ..
(13:02:08) andyjpb: I think it's somewhere else
(13:02:17) andyjpb: shell's time for my benchmark claims 5s
(13:02:22) zaniyah: do you have no way to profile it?
(13:02:25) andyjpb: but chicken's time claims 0.12
(13:02:35) zaniyah: /usr/bin/time ?
(13:02:36) andyjpb: so it might be on the other end of the rest api
(13:02:41) andyjpb: $ time csi -s extractor.scm
(13:02:41) andyjpb: 0.136s CPU time, 0.02s GC time (major), 27403/4634 mutations (total/tracked), 4/213 GCs (major/minor)
(13:02:41) andyjpb: real    0m5.269s
(13:02:41) andyjpb: user    0m0.344s
(13:02:41) andyjpb: sys     0m0.024s
(13:02:41) zaniyah: the shell's built in isn't as good
(13:02:58) andyjpb: $ time ./extractor 
(13:02:58) andyjpb: 0.12s CPU time, 0.016s GC time (major), 27282/4712 mutations (total/tracked), 4/213 GCs (major/minor)
(13:02:58) andyjpb: real    0m5.082s
(13:02:58) andyjpb: user    0m0.152s
(13:02:58) andyjpb: sys     0m0.016s
(13:03:22) andyjpb: and when I attach gdb to the chicken process I see it waiting in poll a lot
(13:04:33) ***andyjpb breaks out curl
(13:15:00) C-Keen: andyjpb: that's the scheduler
(13:18:55) ovenpasta left the room (quit: Ping timeout: 248 seconds).
(13:27:41) sjamaan [~sjamaan@netbsd/developer/sjamaan] entered the room.
(13:28:47) sjamaan: andyjpb: Did I miss anything after "i.e. they're slow and the cpu load is low"?
(13:29:03) sjamaan: My hosting provider is having some issues on their network
(13:32:34) sjamaan: andyjpb: u8vectors are blobs wrapped up into a record type
(13:33:06) sjamaan: (that's why blob->u8vector/shared works; it just creates a 2-slot record with the type and the existing blob)
(13:38:40) Youbi left the room (quit: Quit: WeeChat 1.0).
(14:00:57) andyjpb: sjamaan: weird. u8vectors are about 5 or 6 times slower than blobs