<byteit101[m]>
i'll be, that's the most surprising working ruby I've seen this decade!
<byteit101[m]>
I'm hoping your optimization work is going well, I feel like I'm 90% of the way to making some sort of ouroboros, Kernel#` calls Open3.capture2 calls Process.spawn calls SubSpawn.spawn_compat calls the right backend to actually do the spawn :-D
<byteit101[m]>
> Realized a dumb optimization that can be handy: j = 0; p Time.now.to_f; 100_000.times{|i| require 'json'; j+=i;}; p Time.now.to_f
<byteit101[m]>
^ do you want a ticket for this optimization? I've used this pattern in several places that could be hot paths for spawn-heavy apps
BZK[m] has joined #jruby
<byteit101[m]>
I'm so annoyed at how much similar-but-not-quite-the-same complex arg parsing popen and spawn share, as I can't reuse the code easily
<byteit101[m]>
I shall leave it at ` for today, and work on peopen more tomorrow
<headius>
It could be added to my idea list issue
<headius>
That optimization
<headius>
I can think of other clever things we can do with a specialized require call site
<headius>
The difference is between p open and spawn are indeed rather annoying, which is why all those years ago I ended up just porting the C Ruby code line for line
<headius>
Your work on win 32 must be including some native IO stuff, right? Now is probably the right time for us to finish native io on windows which will bring us almost all the way to Linux compatibility levels