closer 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
Aethenelle has joined #ruby-core
charliesome has joined #ruby-core
tenderlove has quit [Quit: Leaving...]
Aethenelle has quit [Quit: Aethenelle]
<znz_jp> biff: [ruby-changes:41123] nobu:r53196 (trunk): test/unit.rb: fix outputs - http://mla.n-z.jp/?ruby-changes=41123
<znz_jp> biff: [ruby-changes:41124] nobu:r53197 (trunk): test/unit.rb: color on tty - http://mla.n-z.jp/?ruby-changes=41124
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<znz_jp> biff: [ruby-changes:41125] duerst:r53198 (trunk): enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250 - http://mla.n-z.jp/?ruby-changes=41125
akshayvishnoi has joined #ruby-core
charliesome has joined #ruby-core
znz_jp has quit [Quit: kill -QUIT $$]
znz_jp has joined #ruby-core
<znz_jp> biff: [ruby-changes:41126] nobu:r53199 (trunk): csv.rb: Fix typo [ci skip - http://mla.n-z.jp/?ruby-changes=41126
<znz_jp> biff: [ruby-changes:41127] nobu:r53200 (trunk): zlib.c: Fix typo [ci skip] - http://mla.n-z.jp/?ruby-changes=41127
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
charliesome has joined #ruby-core
charliesome has quit [Client Quit]
akshayvishnoi has quit [Quit: akshayvishnoi]
akshayvishnoi has joined #ruby-core
akshayvishnoi_ has joined #ruby-core
akshayvishnoi has quit [Ping timeout: 246 seconds]
akshayvishnoi_ is now known as akshayvishnoi
nagachika has joined #ruby-core
nagachika has quit [Remote host closed the connection]
nagachika has joined #ruby-core
tarui has quit [Quit: Quit Nadoka 0.8.2-trunk (-)]
nagachika has quit [Ping timeout: 246 seconds]
akshayvishnoi has quit [Quit: akshayvishnoi]
<znz_jp> biff: [ruby-changes:41128] nobu:r53201 (trunk): webrick/utils.rb: get rid of thread leak checker - http://mla.n-z.jp/?ruby-changes=41128
heroux has quit [Ping timeout: 260 seconds]
heroux has joined #ruby-core
hsbt is now known as hsbt_away
hsbt_away is now known as hsbt
hsbt has quit [Quit: Tiarra 0.1+svn-39209: SIGTERM received; exit]
hsbt has joined #ruby-core
hsbt is now known as hsbt_away
hsbt_away is now known as hsbt
hsbt is now known as hsbt_away
hsbt_away is now known as hsbt
hsbt is now known as hsbt_away
hsbt_away is now known as hsbt
<znz_jp> biff: [ruby-changes:41129] ngoto:r53202 (trunk): * enc/windows_1250.c: Should not use C++ style comments (C99 feature). - http://mla.n-z.jp/?ruby-changes=41129
akshayvishnoi has joined #ruby-core
charliesome has joined #ruby-core
charliesome has quit [Client Quit]
akshayvishnoi has quit [Quit: akshayvishnoi]
charliesome has joined #ruby-core
charliesome has quit [Client Quit]
akshayvishnoi has joined #ruby-core
_ko1 has joined #ruby-core
<_ko1> @headius hi
<headius> _ko1: Hi there..I think I understand, you have the same concern
<headius> e.g. we can't do a lock-free queue in the future
<_ko1> a bit different.
<headius> that was what raised the concern for me...we were using such a lock-free queue as our implementation and can't use it anymore
<_ko1> i'm not sure we can make lock-free queue, but at least we can't use Java's current lock-free queue.
<_ko1> i agree.
<_ko1> you wrote: "Performance seems fine"
<_ko1> try with benchmarks?
<headius> I have only done quick tests but it looks ok...better in fact
<headius> that may be because lock-free impl is allocating more objects behind the scenes
<_ko1> i see.
<headius> let me run another test
<headius> SizedQueue is implemented with an array in Java so it would be lighter
<_ko1> maybe on many threads it is different.
<_ko1> s/on/with/
<_ko1> i understand your concern, and we need to decide we should revert it or should not for 2.3.
<_ko1> btw, API concers, we can postpone.
<_ko1> i believe 99% of use cases, they use nil for termination.
<headius> that may be
<_ko1> configurable options can be added after 2.4 or later.
<headius> the additional pop forms could be 2.4
<_ko1> however, we can't remove Queue#close after release.
<_ko1> (or difficult to become it obsolete)
<headius> sized form seems ok on performance too
<headius> it may be because the lock-free queues can't provide num_waiting so I had to implement that separately
<_ko1> i see.
<headius> I say it is ok for 2.3
<_ko1> it -> SizedQueue?
<headius> Queue#close and current behavior
<headius> I would like to see a way to pop and get closed status in the future but we don't have time to add that
<headius> so my issue can be moved to 2.4 I think
<_ko1> you mean about API concerns?
<_ko1> > a way to pop and get closed status
<headius> yes
<_ko1> ok. i also don't worry about that. I only worry about performance you pointed out.
<_ko1> i missed this pont.
<headius> I can't show performance problem right now
<_ko1> point
<headius> I will keep testing today
<headius> do you have any Queue performance tests?
<_ko1> sorry, nothing.
<_ko1> as you said, we need to support parallel behavior and checking close bit is weired
<headius> yes
<headius> I'm sorry I did not see this earlier...we didn't have time to look at new features until preview1
<_ko1> no proble, thank you so much pointing out
<_ko1> we have one week until 2.3 release :)
<headius> I may look at Go channel code today too
<_ko1> i'm not sure but they can use global locking.
<_ko1> for each channel.
<_ko1> because channels are used for 1 to 1 communication.
<headius> closed uint32
<_ko1> it can do N to M communication, but most of users use 1 to 1.
<headius> yeah
<headius> lock(&c.lock)
<headius> they lock on channel
<headius> but they do have some fast path checks before locking
<headius> and they lock around setting closed bit, waking consumers, etc
<headius> if this is the model we want to follow we should double-check our semantics
<headius> _ko1: I also just realized we were not using the lock-free queues because the don't support blocking
<headius> and OpenJDK's LinkedBlockingQueue (unbounded blocking queue) does use locking anyway
<headius> so it may be that we already can't use lock-free in Ruby's Queue
<_ko1> (1) performance for current JRuby implementation
<_ko1> sorry
<_ko1> (1) performance for current JRuby implementation
<_ko1> (2) performance for future implementations
<_ko1> we have two concerns, and (1) was solved.
<headius> yes
<_ko1> for (2), go seems good idea, so it is also solved (hopefully).
<_ko1> conclusion: introduce current feature to 2.3.
<_ko1> is it okay?
<headius> I concur!
<_ko1> thank you so much.
<headius> perhaps someday we will add FastQueue that is lock-free
<headius> or something like it
<headius> I will implement Queue as lock-free and post numbers too
<headius> but we can't do it for current Queue
<_ko1> i see.
<_ko1> (in fact i don't understand what go do, so i need to study)
<headius> well it appears to be a full-locked queue from their source
<headius> JDK lock-free queues are based on http://www.cs.rochester.edu/u/scott/papers/1996_PODC_queues.pdf
<znz_jp> biff: [ruby-changes:41130] nobu:r53203 (trunk): proc.c: remove old macro - http://mla.n-z.jp/?ruby-changes=41130
<znz_jp> biff: [ruby-changes:41131] svn:r53204 (trunk): * 2015-12-20 - http://mla.n-z.jp/?ruby-changes=41131
<znz_jp> biff: [ruby-changes:41132] nobu:r53205 (trunk): fix commit miss - http://mla.n-z.jp/?ruby-changes=41132
<znz_jp> biff: [ruby-changes:41133] nobu:r53206 (trunk): proc.c: fix infinite loop - http://mla.n-z.jp/?ruby-changes=41133
<znz_jp> biff: [ruby-changes:41134] nobu:r53207 (trunk): remove duplicated log by commit miss [ci skip] - http://mla.n-z.jp/?ruby-changes=41134
<headius> _ko1: I have better numbers now...it does seem like the new impl is a bit slower
<headius> but I have not determined if that is becuase of the locking or because of my implementation
<headius> oh no...maybe much slower? I'm confused why I got better numbers before
dwfait has joined #ruby-core
dwfait has quit [Ping timeout: 240 seconds]
dwfait_ has joined #ruby-core
dwfait_ has quit [Ping timeout: 240 seconds]
nagachika has joined #ruby-core
nagachika has quit [Remote host closed the connection]
nagachika has joined #ruby-core
akshayvishnoi has quit [Quit: akshayvishnoi]
dwfait has joined #ruby-core
dwfait has quit [Quit: dwfait]
akshayvishnoi has joined #ruby-core
heroux has quit [Ping timeout: 246 seconds]
ItSANg___ has joined #ruby-core
heroux has joined #ruby-core
ItSANgo has quit [Ping timeout: 272 seconds]
akshayvishnoi has quit [Read error: No route to host]
akshayvishnoi has joined #ruby-core
nagachika has quit [Remote host closed the connection]
akshayvishnoi_ has joined #ruby-core
akshayvishnoi has quit [Read error: Connection reset by peer]
akshayvishnoi_ is now known as akshayvishnoi
akshayvishnoi has quit [Client Quit]
eregon_ is now known as eregon
dwfait has joined #ruby-core
dwfait has quit [Ping timeout: 240 seconds]
dwfait has joined #ruby-core
dwfait has quit [Ping timeout: 240 seconds]
dwfait has joined #ruby-core
dwfait has quit [Ping timeout: 260 seconds]
dwfait has joined #ruby-core