2013-03-25 00:43
hsbt_away changed the topic of #ruby-core to: check the latest release candidate for 1.9.1 release ftp.ruby-lang.org:/home/yugui/ruby-1.9.1-r26021+1.tar.bz2
00:01
nagachika has joined #ruby-core
00:20
nari has quit [Ping timeout: 240 seconds]
00:29
tylersmith has joined #ruby-core
00:34
tylersmith has quit [Ping timeout: 264 seconds]
00:37
tylersmith has joined #ruby-core
00:38
marcandre has joined #ruby-core
00:40
marcandre has quit [Remote host closed the connection]
00:50
nari has joined #ruby-core
00:58
kosaki8_ has joined #ruby-core
00:59
kosaki8 has quit [Read error: Connection reset by peer]
01:35
soba has joined #ruby-core
01:50
Domon has joined #ruby-core
01:50
Domon has quit [Remote host closed the connection]
01:51
Domon has joined #ruby-core
01:52
Domon has quit [Remote host closed the connection]
02:14
DanKnox is now known as DanKnox_away
02:15
Domon has joined #ruby-core
02:28
shinnya has quit [Ping timeout: 240 seconds]
03:10
tylersmith has quit [Remote host closed the connection]
03:11
tylersmith has joined #ruby-core
03:15
tylersmith has quit [Ping timeout: 246 seconds]
03:53
anveo has quit [Quit: Computer has gone to sleep.]
04:21
tylersmith has joined #ruby-core
04:26
tylersmith has quit [Ping timeout: 264 seconds]
04:31
Domon has quit [Remote host closed the connection]
04:31
Domon has joined #ruby-core
04:35
Domon has quit [Ping timeout: 245 seconds]
05:31
Domon has joined #ruby-core
05:43
heroux has quit [Ping timeout: 264 seconds]
05:44
heroux has joined #ruby-core
05:45
<
drbrain >
_ko1: pong?
05:45
<
_ko1 >
no charliesome?
05:46
<
_ko1 >
drbrain: do you have any issue/features you want to introduce to 2.1?
05:47
<
drbrain >
_ko1: outside RDoc and RubyGems work (bundler integration, specifically) I don't know if I will have time.
05:47
<
_ko1 >
this weekend, we make a face to face meeting
05:47
<
drbrain >
I would like to do more net/http work, but it may have to wait
05:47
<
_ko1 >
are you busy recently?
05:47
<
drbrain >
when is feature freeze?
05:47
<
_ko1 >
maybe the end of Sep
05:48
<
drbrain >
I guess RubyGems will have minimal bundler integration then
05:48
<
drbrain >
I've been busy on RubyGems and RDoc for the past month
05:48
<
drbrain >
today I committed RubyGems 2.1 RC 2 to ruby
05:49
<
drbrain >
other than HTML changes, I think RDoc 4.1 will be ready for end of Sep
05:49
<
drbrain >
but I will also be traveling to Moscow to speak at the end of September, and I need to prepare my talk
05:50
<
_ko1 >
I never been Russia
05:52
charliesome has joined #ruby-core
05:53
<
drbrain >
and it's so close to you!
05:54
<
_ko1 >
we need visa
05:54
<
drbrain >
there was a politician in America who said "I can see Russia from my house" because she lived in Alaska
05:54
<
drbrain >
tomorrow I'm going to get it
05:55
<
drbrain >
everybody thought her statement was a joke (because you can't see Russia from much of Alaska)
05:55
<
drbrain >
and nobody wants to live where you can because it's too remote
05:56
<
_ko1 >
and too cold
05:56
<
_ko1 >
Here is too hot Japanese summer, so I want to go there :(
05:57
<
charliesome >
_ko1: pong
05:58
samsaffron has joined #ruby-core
05:59
<
_ko1 >
samsaffron: hi
05:59
<
samsaffron >
hi ko1 !
06:00
<
_ko1 >
n0kada-freenode: hi
06:00
<
_ko1 >
he is specialist.
06:01
<
samsaffron >
hi n0kada!
06:01
n0kada-freenode is now known as n0kada
06:01
<
samsaffron >
charlisome suggested figuring out if its a singleton using: fprintf(stderr, "singleton class? %s\n", FL_TEST(obj, FL_SINGLETON) ? "yes" : "no"); and then turning gc debugging on
06:02
<
samsaffron >
sorry I mean method cache :)
06:04
<
n0kada >
your class is discarded?
06:05
<
n0kada >
then why you can call its method later
06:05
<
samsaffron >
yes, seeing 10 or so being discarded after running N requests against our Rails app in the GC
06:05
<
samsaffron >
mainly trying to figure out what the class is to avoid that bit of meta programming that must be hiding in one of 100 or so gems
06:09
<
samsaffron >
is there a DUMP_DIAGS((VALUE)obj) somewhere hiding in MRI ?
06:10
<
n0kada >
but if you use gdb, rp helps you
06:10
<
samsaffron >
rp was segfaulting there when I tried
06:12
<
n0kada >
debuggee ruby process?
06:13
<
samsaffron >
going to try a standalone sample
06:14
<
n0kada >
rp is a pure gdb macro command
06:20
<
n0kada >
method cache is cleared for many various reasons, define/remove method/constant, for example
06:21
<
n0kada >
or simply table overflowed
06:21
<
samsaffron >
yeah ... those were very easy to trace, its just when it happens in the GC that it is hard figure out why
06:42
heroux has quit [Ping timeout: 264 seconds]
06:43
heroux has joined #ruby-core
06:45
<
n0kada >
not every object gets freed at exit
06:54
Domon has quit [Remote host closed the connection]
06:55
Domon has joined #ruby-core
06:55
Domon has quit [Read error: Connection reset by peer]
06:55
Domon has joined #ruby-core
08:03
samsaffron has quit []
08:04
eLobato has joined #ruby-core
08:26
judofyr has joined #ruby-core
08:36
nari has quit [Ping timeout: 245 seconds]
08:41
m4dm4n has joined #ruby-core
08:42
<
m4dm4n >
Excuse me, Can I find a Ruby developer here?
08:54
<
judofyr >
m4dm4n: hi. you mean someone working on Ruby itself?
08:55
<
m4dm4n >
judofyr: :)
08:55
<
judofyr >
m4dm4n: how so? this channel is pretty quiet
08:55
<
m4dm4n >
Are you a developer?
08:55
<
judofyr >
m4dm4n: I'm not a ruby-core developer, but I do follow the mailing list
08:56
<
m4dm4n >
Are you an expert in ruby?
08:58
m4dm4n has quit [Quit: Leaving]
09:19
<
_ko1 >
i'm ruby developer!
09:20
<
judofyr >
_ko1: you are
*the* ruby developer ;)
09:21
<
_ko1 >
the developer is Matz!!
09:21
<
judofyr >
isn't he just the boss?
09:21
<
_ko1 >
he is my boss
09:21
<
_ko1 >
and competitor (mruby)
09:28
<
judofyr >
_ko1: how's mruby coming along? are you following the development?
09:34
<
_ko1 >
i don't know about mruby.
09:34
<
_ko1 >
that seems good
09:35
<
judofyr >
_ko1: what are you doing in Ruby now? is RGenGC merged in?
09:35
<
_ko1 >
just now, considering about signal threads
09:35
<
_ko1 >
but it will be rejected
09:36
<
_ko1 >
we will close new spec for 2.1 soon
09:36
<
_ko1 >
so i'm seeking about new features
09:36
<
judofyr >
yeah, I saw the email thread on signal threads
09:36
<
judofyr >
_ko1: concurrent GC ;)
09:36
<
_ko1 >
concurrent GC!!
09:36
<
judofyr >
concurrent marking?
09:36
nari has joined #ruby-core
09:37
<
_ko1 >
we need typical feature to release!
09:37
<
_ko1 >
so I need to keep concurrent GC for 2.2!
09:37
<
judofyr >
good point
09:37
<
_ko1 >
(just joking)
09:37
<
_ko1 >
i hope some student try such implementation
09:37
<
_ko1 >
it will be good practice
09:38
<
judofyr >
also: did someone implement substring sharing?
09:38
<
judofyr >
I thought I saw something about that
09:38
<
_ko1 >
for graduation thesis
09:38
<
_ko1 >
substring sharing.
09:39
<
judofyr >
I just thought I saw someone mention it on the mailing list, but I might be wrong
09:40
<
judofyr >
I'm probably just making things up :)
09:40
<
_ko1 >
i want to introduce more agrgessive string (not substring) sharing mechanism
09:40
<
judofyr >
what types of sharing?
09:40
<
judofyr >
(aka. ropes)
09:41
<
_ko1 >
enhance symbol storage
09:43
<
judofyr >
for performance or to reduce memory?
10:27
Domon has quit [Remote host closed the connection]
10:27
Domon has joined #ruby-core
10:30
<
judofyr >
charliesome: nice!
10:31
<
judofyr >
charliesome: y r åwsåm
10:31
<
charliesome >
judofyr: _ko1 and I are going to try a pull request for code review here :)
10:31
Domon has quit [Ping timeout: 245 seconds]
10:32
<
judofyr >
charliesome: what's sp_ar.c?
10:32
<
judofyr >
or: how is it different from a hash table?
10:32
<
charliesome >
judofyr: funny falcon's sparse array library
10:33
<
charliesome >
it's a hash table designed for the case where keys are 32 bit integers
10:33
<
charliesome >
so basically a hash table minus the 'hash' part
10:33
<
judofyr >
isn't calc_pos a hash function?
10:34
<
charliesome >
dunno, you could probably ask funny falcon for more details
10:34
<
charliesome >
at least that's how i understand it
10:34
<
charliesome >
it's quite a bit faster than st.c when dealing with integer keys
10:34
<
charliesome >
eg. method tables
10:39
Domon has joined #ruby-core
10:47
Domon has quit [Remote host closed the connection]
10:47
Domon has joined #ruby-core
10:51
Domon has quit [Ping timeout: 245 seconds]
10:53
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
10:58
charliesome has joined #ruby-core
11:21
judofyr has quit [Remote host closed the connection]
11:49
soba has quit [Ping timeout: 264 seconds]
12:06
judofyr has joined #ruby-core
12:56
nagachika has quit [Remote host closed the connection]
13:13
ZachBeta has joined #ruby-core
13:15
ZachBeta has quit [Client Quit]
13:19
nagachika has joined #ruby-core
13:30
ZachBeta has joined #ruby-core
13:37
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
13:41
charliesome has joined #ruby-core
13:49
eLobato has quit [Ping timeout: 256 seconds]
13:50
ZachBeta has quit [Quit: Computer has gone to sleep.]
14:02
eLobato has joined #ruby-core
14:24
anveo has joined #ruby-core
14:27
ZachBeta has joined #ruby-core
14:30
anveo has joined #ruby-core
14:44
heroux has quit [Ping timeout: 245 seconds]
14:44
nari has quit [Ping timeout: 260 seconds]
14:46
heroux has joined #ruby-core
14:50
heroux has quit [Ping timeout: 246 seconds]
15:29
kosaki8_ has quit [Ping timeout: 256 seconds]
15:33
shinnya has joined #ruby-core
15:33
tylersmith has joined #ruby-core
15:33
judofyr has quit [Remote host closed the connection]
15:36
bf4_ has joined #ruby-core
15:39
bf4_ is now known as bf4
15:39
kosaki2 has joined #ruby-core
15:44
eLobato has quit [Quit: WeeChat 0.4.0]
15:46
kosaki2 has quit [Remote host closed the connection]
15:49
kosaki2 has joined #ruby-core
16:01
heroux has joined #ruby-core
16:04
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
16:11
heroux has quit [Ping timeout: 276 seconds]
16:41
marcandre has joined #ruby-core
16:51
heroux has joined #ruby-core
16:54
DanKnox_away is now known as DanKnox
17:03
heroux has quit [Ping timeout: 256 seconds]
17:16
tylersmi_ has joined #ruby-core
17:16
tylersmith has quit [Ping timeout: 264 seconds]
17:17
kosaki2 has quit [Remote host closed the connection]
17:19
nagachika has quit [Remote host closed the connection]
17:21
DanKnox is now known as DanKnox_away
17:22
marcandre has quit [Remote host closed the connection]
17:26
DanKnox_away is now known as DanKnox
17:26
heroux has joined #ruby-core
17:51
tylersmi_ has quit [Read error: Connection reset by peer]
17:52
tylersmith has joined #ruby-core
17:54
heroux has quit [Ping timeout: 245 seconds]
17:56
heroux has joined #ruby-core
17:57
bf4 has quit [Ping timeout: 240 seconds]
18:00
tylersmith has quit [Ping timeout: 245 seconds]
18:00
bf4 has joined #ruby-core
18:02
heroux has quit [Ping timeout: 245 seconds]
18:03
heroux has joined #ruby-core
18:05
tylersmith has joined #ruby-core
18:10
heroux has quit [Ping timeout: 276 seconds]
18:15
heroux has joined #ruby-core
18:16
kosaki2 has joined #ruby-core
18:27
heroux has quit [Ping timeout: 246 seconds]
18:29
heroux has joined #ruby-core
18:38
tylersmith has quit [Ping timeout: 245 seconds]
18:39
tylersmith has joined #ruby-core
18:44
tylersmith has quit [Ping timeout: 260 seconds]
18:48
tylersmith has joined #ruby-core
18:54
heroux has quit [Ping timeout: 245 seconds]
18:56
heroux has joined #ruby-core
19:16
heroux has quit [Ping timeout: 256 seconds]
19:18
heroux has joined #ruby-core
19:19
tylersmi_ has joined #ruby-core
19:19
tylersmith has quit [Read error: Connection reset by peer]
19:28
tylersmi_ has quit [Ping timeout: 256 seconds]
19:35
tylersmith has joined #ruby-core
19:36
heroux has quit [Ping timeout: 268 seconds]
19:37
heroux has joined #ruby-core
19:40
DanKnox is now known as DanKnox_away
19:53
tylersmith has quit [Read error: Connection reset by peer]
19:53
tylersmith has joined #ruby-core
19:55
heroux has quit [Read error: Operation timed out]
19:59
heroux has joined #ruby-core
19:59
wudofyr has quit [Remote host closed the connection]
20:11
wudofyr has joined #ruby-core
20:21
tylersmi_ has joined #ruby-core
20:22
tylersmith has quit [Read error: Connection reset by peer]
20:23
wudofyr has quit [Remote host closed the connection]
20:24
wudofyr has joined #ruby-core
20:40
heroux has quit [Ping timeout: 245 seconds]
20:44
wudofyr has quit [Remote host closed the connection]
20:52
tylersmith has joined #ruby-core
20:53
tylersmi_ has quit [Read error: Connection reset by peer]
20:57
DanKnox_away is now known as DanKnox
20:57
travis-ci has joined #ruby-core
20:57
travis-ci has left #ruby-core [#ruby-core]
20:58
<
drbrain >
no, it was apt-get's fault
21:00
wudofyr has joined #ruby-core
21:06
ZachBeta has quit [Ping timeout: 264 seconds]
21:10
ZachBeta has joined #ruby-core
21:15
marcandre has joined #ruby-core
21:22
<
drbrain >
I have found a regular expression that matches 15x faster in 1.8.7 than 2.0.0
21:32
<
drbrain >
odd, it's particular to //i
21:42
ZachBeta has quit [Quit: Computer has gone to sleep.]
21:42
<
lopex >
drbrain: oniguruma unfolds first 3 or so chars in the bytecode
21:43
<
lopex >
so ir fails very fat in searches
21:43
<
drbrain >
lopex: does that change depending upon //i ?
21:43
<
lopex >
the //i is what triggers it
21:43
tylersmith has quit [Ping timeout: 264 seconds]
21:43
<
lopex >
it's a special opt to noncase sensitive matching
21:44
<
drbrain >
I wonder if I should submit this bug, then
21:44
<
lopex >
if you do /foo/i
21:44
<
lopex >
the gnerated byte code will be just
21:44
<
lopex >
if not f then check F
21:44
<
lopex >
then o or O
21:45
<
lopex >
the unfolding is done compile time since it can be pretty slow
21:45
<
lopex >
unpack to pointcode
21:45
<
lopex >
lookup in fold tables for point code
21:46
tylersmith has joined #ruby-core
21:46
<
lopex >
drbrain: I can show you the bytecode if you want
21:46
<
drbrain >
lopex: nah
21:47
<
drbrain >
is a 15x slowdown expected?
21:47
<
lopex >
for unicode the unfoldings can be pretty big
21:47
<
drbrain >
BTW, the regular expression was:
21:47
<
drbrain >
VERSION_PATTERN = '[0-9]+(?>\.[0-9a-zA-Z]+)*(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?'
21:47
<
drbrain >
ANCHORED_VERSION_PATTERN = /\A\s*(#{VERSION_PATTERN})*\s*\z/i
21:47
<
lopex >
drbrain: dunno that's just numbers
21:47
<
drbrain >
so the //i is useless
21:48
<
drbrain >
someone found a pathological non-input for the pattern which I fixed with the ?>
21:48
<
drbrain >
I happened to run it on 1.8 and was all "wait a minute, there's one more 0 on the left hand side here!"
21:48
<
drbrain >
sounds like I shouldn't bother with the bug report
21:49
<
lopex >
drbrain: is that for ascii or utf under 2.0 ?
21:50
<
drbrain >
it matches rubygems version strings which only allow ascii strings, but I suppose it could be matched against a UTF-8 string too
21:50
<
drbrain >
the default encoding of the file is UTF-8
21:50
<
lopex >
drbrain: in general since 1.9 there's lots of preprocessing to negotioate encodings
21:50
<
drbrain >
… no # encoding: at the top of the file
21:50
<
lopex >
it also means you never match the original string
21:51
<
drbrain >
lopex: yeah, I dealt with a ton of that in RDoc
21:51
<
lopex >
it will always be copied
21:52
r0bglees0n has quit [Ping timeout: 240 seconds]
21:52
<
lopex >
drbrain: well, then it must be a pathological case for oniguruma/onigmo
21:52
<
drbrain >
the regular expression is still plenty fast
21:52
<
lopex >
in general it should be faster than 1.8 engine modulo encoding abstraction
21:52
ZachBeta has joined #ruby-core
21:53
<
lopex >
it should be faster under jruby
21:53
<
drbrain >
median 3.0e-5s average, 3.5e-6s std dev
21:53
ZachBeta has quit [Client Quit]
21:53
<
drbrain >
oh, that's without //i
21:54
<
drbrain >
it's more 3.0e-4 average with //i
21:54
<
lopex >
on a big input ?
21:54
<
drbrain >
'2.3422222.222.222222222.22222.ads0as.dasd0.ddd2222.2.qd3e'
21:55
<
drbrain >
for a gem version, that's big
21:55
<
drbrain >
for a string it isn't
21:55
r0bglees0n has joined #ruby-core
21:58
bf4 has left #ruby-core [#ruby-core]
22:03
DanKnox is now known as DanKnox_away
22:03
nari has joined #ruby-core
22:18
DanKnox_away is now known as DanKnox
22:33
kosaki2 has quit [Ping timeout: 245 seconds]
22:34
_br_ has quit [Ping timeout: 247 seconds]
22:36
_br_ has joined #ruby-core
23:07
kosaki8 has joined #ruby-core
23:34
nari has quit [Ping timeout: 264 seconds]
23:41
sam has joined #ruby-core
23:41
sam is now known as Guest84996
23:41
<
Guest84996 >
@n0kada ... I got rp going but am not getting much useful out of it
23:42
<
Guest84996 >
(gdb) rp(140009950054920)
23:42
<
Guest84996 >
T_CLASS*: (struct RClass *) 0x7f569b568a08
23:42
<
Guest84996 >
$1 = {basic = {flags = 4130, klass = 140009950054920}, ptr = 0x7f569509f170,
23:42
<
Guest84996 >
$2 = {super = 140009955949480, iv_tbl = 0x7f569509f0e0, const_tbl = 0x0,
23:42
<
Guest84996 >
m_tbl = 0x7f569509f6e0, iv_index_tbl = 0x0}
23:42
<
Guest84996 >
origin = 140009950054920, refined_class = 8, allocator = 0x0}
23:42
<
Guest84996 >
(gdb) rp(140009955949480)
23:42
<
Guest84996 >
T_ICLASS: (struct RClass *) 0x7f569bb07ba8
23:42
<
Guest84996 >
$3 = {basic = {flags = 29, klass = 140009886381280}, ptr = 0x7f569bafe120,
23:42
<
Guest84996 >
m_tbl = 0x7f56978926f0, iv_index_tbl = 0x0}
23:42
<
Guest84996 >
$4 = {super = 140009884698400, iv_tbl = 0x7f56978926c0, const_tbl = 0x7f56978f1bf0,
23:42
<
Guest84996 >
origin = 140009955949480, refined_class = 8, allocator = 0x0}
23:43
Guest84996 has quit [Client Quit]
23:43
samsaffron has joined #ruby-core
23:44
<
samsaffron >
is there any way to yank a name out the debugger (if there is one) or a random method name from the method table?
23:45
<
drbrain >
samsaffron: maybe .gdbinit has something?
23:45
<
samsaffron >
looking
23:45
<
drbrain >
there's a variety of GDB macros in there
23:49
<
samsaffron >
there is an rb_classname but unclear on how to use it
23:50
<
drbrain >
try rb_classname(140009950054920)
23:51
<
samsaffron >
(gdb) rb_classname(140009950054920)
23:51
<
samsaffron >
Too few arguments in function call.
23:51
<
drbrain >
I don't know then
23:56
tylersmith has quit [Ping timeout: 268 seconds]
23:58
kosaki2 has joined #ruby-core