Index

Show enters and exits. Hide enters and exits.

00:05:26brixenwhat OS is it?
00:05:31brixenI can make you a binary build
00:05:56brixenalso, you can try using clang instead of gcc
00:08:49yonahwIt's Amazon Linux AMI. I'm thinking maybe I take a snapshot of the EBS disk and attach it to an instance with more memory, compile and then switch back to free instance.
01:45:13scottWhat is the purpose of Rubinius::VM.reset_method_cache(name)?
03:40:32boyscoutFix Rubinius.current_file - b472adf - Scott Olson
03:40:32boyscoutMerge pull request #1825 from tsion/patch-2 - f3a8386 - Jesse Cooke
04:15:38scottis there an explanation of VariableScopes somewhere? methods' VariablesScopes never have parents but blocks do and I'm wondering how exactly that gets set up
04:16:00scottis it possible to make a method where the VariableScope would have a parent?
04:37:11brixenmethods are closed scopes
04:37:18brixenblocks are not
04:37:40brixenprocs (mobile blocks) close around the containing lexical scope
04:37:42scottis that enforced by the VM?
04:37:58brixenwell, basically
04:38:07brixenyou can't look up if there's no up to look in
04:38:48brixenas for what a variable scope is, it's the variables that are in scope
04:39:06brixendef foo(a) <here lies a variable scope having 'a'> end
04:39:35scottright
04:39:40brixendef foo(a) bar { b <here lies a scope that has 'b' and has the scope with 'a' as parent> } end
04:40:36brixenthe structure of a VariableScope instance is in vm/builtin/variable_scope.hpp
04:41:08scottI'm wondering if it's possible in rubinius to make the scope having 'a' in that example have a parent scope. that is, I want to make a method that is a closure
04:49:18brixenmethods aren't really intended to function that way
04:49:38brixenthere's machinery to reify the variable scope chain that probably won't work with methods
04:49:44brixenbut I'd have to look at it all
04:49:56boyscoutChanged release:tar to package:tar. - 60a3e73 - Brian Ford
04:49:56boyscoutFixed reloading config.rb. - 0e0a439 - Brian Ford
04:50:41brixen1.9 basically unifies argument processing in blocks and methods
04:50:55brixenyou should probably just use blocks for that
04:50:59scottbrixen: what do you suggest for apricot's anonymous functions? basically I want them to be able to be closures and also to use method's arity checking
04:51:18brixenseems like you can use 1.9 blocks
04:51:24brixenyou should require 1.9 mode anyway
04:51:31brixensince it's got encodings (or will have)
04:51:36scottoh, and I didn't want to have to deal with 1.8 blocks' cast_for_*_block_arg
04:51:46scottI noticed Atomy was 1.9-mode only
04:51:51brixenyeah, don't use 1.8
04:52:08brixenI gotta run for now
04:52:20scottI was planning on supporting both 1.8 and 1.9 mode, but 1.9 mode does look handier
04:52:35brixenI don't see any reason at all to support 1.8 mode
04:52:40scottI was unsure how complete 1.9 mode was on rbx
04:52:57brixenwe have about 500 tags for rubyspecs
04:53:03brixenand most of those are only encoding
04:53:23brixenthere are more total 1.9 specs in rubyspec than 1.8 specs
04:53:39brixenyou will be fine using 1.9 mode
04:53:52scottgood to know, thanks
04:53:57brixenno prob
04:54:05brixenping me tomorrow if you still have questions
04:54:15scottwill do
04:54:19brixencool
04:54:21brixenlater
04:54:22scottsee ya
07:44:39flaviobrixen: are you around?
11:10:36boyscoutDon't try to work around constant redefinition warnings - fdf38da - Dirkjan Bussink
11:10:36boyscoutDisable travis webhook and try building with 1.9 too - efd2732 - Dirkjan Bussink
13:26:53boyscoutUpdate to latest net/http from 1.8 - 5dd6dd6 - Dirkjan Bussink
13:54:51jrbudnackgood morning brixen - I tried a fresh rvm install on the Managed box I showed you (rvm install rbx -n devmode —1.9). I'm still getting an error in rake. The Appfirst collector I was referring to was turned off, so we can eliminate it as one of the causes.
13:55:23jrbudnackand that's with "export DEV=1"
13:59:45dbussinkjrbudnack: do you have a complete gist of the errors?
13:59:57dbussinkjrbudnack: how about now using rvm, but simply just build it?
14:03:03boyscoutUpgrade to latest net/http from 1.9 - 56a5b44 - Dirkjan Bussink
14:14:13jrbudnackdbussink: I tried it again after unsetting DEV and it works fine
14:14:34dbussinkjrbudnack: what is the exact error log then?
14:14:35jrbudnackI shall get you a gist of the rake.log
14:14:48dbussinki never use DEV and rvm together
14:14:59dbussinkbut don't really see how it would have an effect
14:15:11dbussinksince it only adds certain compiler flags
14:16:17jrbudnackdbussink: https://gist.github.com/88a56dda16d475622702
14:17:06dbussinkhmm, that error log doesn't contain anything useful
14:17:33dbussinkjrbudnack: but can't you try just a clone, do ./configure && rake
14:17:38dbussinkand then add the bin/ directory to the path
14:18:00dbussinkthat should allow for using it just like any other ruby and removes all this rvm stuff from the dependencies
14:20:00jrbudnackdbussink: I was originally building it like this:
14:20:15jrbudnack~/.rvm/wrappers/ruby-1.8.7-p358/ruby  ./configure --prefix=~/.rvm/rubies/rbx-head   --with-opt-dir=~/.rvm/usr --default-version=1.9
14:20:26dbussinkyeah, but i want to make sure we eliminate problems here
14:20:38dbussinkso no prefix setting etc.
14:21:18jrbudnackwhere does it install by default?
14:23:01dbussinkjrbudnack: nowhere
14:23:08dbussinkit just runs from the directory itself
14:23:30dbussinkstuff is available in the bin/ directory inside the checkout
14:23:44dbussinkso if you then add that bin directory to the path, everything works
14:24:00dbussinkit's the easiest way to handle it, so that's why i want to see if that works
14:24:35jrbudnackok
14:25:15dbussinkplease make sure to pull latest for that too btw, there have been some fixes there
14:25:38jrbudnackyup - just did that
14:25:53jrbudnackgetting a different error now - "ERROR: unable to find runtime directory"
14:26:23jrbudnackRubinius was configured to find the runtime directory at:
14:26:23jrbudnack /home/svc_work/.rvm/repos/rbx/runtime
14:26:23jrbudnackbut that directory does not exist.
14:26:37dbussinkjrbudnack: ok, go back
14:26:44dbussinkjrbudnack: please create a new clone
14:26:55dbussinkand in there do export DEV=1
14:26:58dbussink./configure
14:26:58dbussinkrake
14:27:01dbussinkand please nothing else
14:27:10jrbudnackthat's exactly what I did, save for the rake command
14:27:23dbussinkwhy do i see .rvm in the path there?
14:27:52jrbudnackI deleted the rbx directory and created a whole new clone in that same directory
14:28:01dbussinkplease do it somewhere else
14:28:03jrbudnackI can create one under my home directory
14:28:06dbussinkplease do
14:28:25dbussinkcan you also do rvm use system before doing anything?
14:28:32dbussinkso that rvm is completely inactive
14:28:44jrbudnacksure
14:30:45jrbudnackI don't think there's a system ruby installed
14:30:50jrbudnacknot on this system anyway
14:30:55dbussinkthat's annoying
14:31:07dbussinksince then rvm probably screws stuff up since it has a gem path active etc.
14:31:28dbussinkbtw, i just did an rvm install with DEV=1 and it worked fine here...
14:31:48dbussinkjrbudnack: if you can give me access to the machine i can take a look myself
14:32:07jrbudnacksure
15:15:48flaviodbussink: hi, I just saw your reply to my pull request about File.lchmod
15:17:35dbussinkflavio: hi
15:17:35flaviodbussink: would it be fine for you to leave the is_lchmod_available code around?
15:17:35dbussinkflavio: yeah, sorry about that, but it's actually completely the wrong approach
15:17:35dbussinkno
15:17:35flaviodbussink: how can I make sure lchmod is available, should I just look for the os name?
15:17:35dbussinkwell, we need to make sure our FFI can handle it
15:17:35dbussinkthat's the proper way to fix it
15:18:08dbussinkflavio: what is the error you get know with the specs then?
15:18:34flaviodbussink: are you talking about the change I made to the spec file?
15:19:25dbussinkflavio: actually no
15:21:39dbussinkflavio: do you know how we use FFI to bind to stuff like chmod?
15:21:51flaviodbussink: nope, I was looking into that right now
15:21:53dbussinkwe don't use any VM primitives for that
15:22:00dbussinkbut directly bind an ffi call
15:22:03flaviodbussink: could you point me to some example?
15:22:20flavioI think I saw something like that, but I don't remember the place...
15:22:55dbussinkwell, anything related to File::Stat for example
15:26:20flaviodbussink: I saw that all these low level directives are defined inside of kernel/platform/posix.rb
15:26:35dbussinkflavio: yep
15:27:42flaviodbussink: I'll try to understand how to patch this file
15:28:21dbussinkflavio: you know what is interesting
15:28:26dbussinkjust tried this on a linux vm
15:28:29flaviodbussink: I've another question, are you fine with defining File.respond_to?
15:28:45dbussinkflavio: well, we shouldn't just do it for this single case
15:28:58dbussinkbut see if this is a general pattern that happens when a function is not available in the os
15:29:16dbussinkso whether we want to change our behavior here
15:29:36dbussinkalthough if you ask me, i think mri's behavior here is screwed up
15:29:43dbussinkby saying it doesn't respond_to
15:29:45flavioI looked at how respond_to? works, I didn't like this approach but I couldn't find a better solution since I still had to define File.lchmod even when the system doesn't support it just in ordet to return the NotImplementedError
15:29:50dbussinkand then not throwing a regular method missing
15:29:56dbussinkthat's just fucked up
15:29:58flavio+1
15:30:12dbussinkso we might even say in this case, screw the mri behavior
15:31:06dbussinkbut this is actually a funny case
15:31:41dbussinkoh, wait, it doesn't seem to
15:31:47dbussinkflavio: what platform are you on?
15:31:57flaviodbussink: I'm on a 64bit linux machine
15:31:59dbussinkand what is the current output if you run the specs as is?
15:32:02dbussinkwhich distro?
15:32:05flavioopenSUSE
15:32:09dbussinkbecause the vm i have here does have lchmod
15:32:15dbussinkdoes yourss?
15:32:17dbussinkyours?
15:32:31flavionope, I saw some distros use chmod as a fallback
15:32:36dbussinkit's guarded in a __USE_BSD though
15:32:45flavioI think even some BSD system does that
15:32:54dbussinkbut that's why it picks it up, since it's available as a symbol in the libc
15:33:06dbussinkflavio: but can you run the specs without changing a single line and gist the output?
15:33:18flaviorunning the spec fails on the respond_to? and the NotImplementedError is not raised
15:33:38flaviosure
15:33:56flaviohttps://gist.github.com/3170693
15:35:23dbussinkflavio: what happens if you open irb and do File.chmod ?
15:35:29dbussinkFile.lchmod i mean
15:35:49dbussinkflavio: and what is the output of nm -g /lib/libc.so.6 | grep chmod ?
15:37:39flaviodbussink: https://gist.github.com/3170713
15:37:46flaviodbussink: https://gist.github.com/3170719
15:39:38dbussinkflavio: ah, that explains
15:39:48dbussinkso your system actually has lchmod in the c library
15:39:59dbussinkso that's why rbx will pick it up and it will work
15:40:32flavioI see
15:41:23dbussinkflavio: so if you ask me, i don't think we want to be fixing this
15:41:29dbussinksince there's nothing really broken
15:41:30flaviodbussink: it seems HAVE_LCHMOD is the only reliable way to check for lchmod
15:41:47dbussinkand it would add all kinds of nasty workarounds to simulate mri behavior
15:42:35flavioI see, at least I have been able to play with some low level code of rubinius and learn something new :)
15:43:00dbussinkhehe, yeah, but not the easiest place to find something to fix then ;)
15:43:20dbussinkso unless somebody can make a convincing case that shows a real world problem with this, i'm for leaving it as is
15:44:13flavioI see your point. It's fine for me
15:44:19flaviolooks for something else to fix
16:55:44Defileryay, Matt W made a solid debian package for rubinius
16:58:24brixensweet
17:04:46Defilerbrixen: https://launchpad.net/~mwhiteley/+archive/rbx
17:05:37brixennice
17:07:45dbussinkDefiler: that should work for both debian and ubuntu right?
17:08:22Defileryeah
17:09:09dbussinkDefiler: cool :)
17:09:19dbussinkbrixen: did you see the lchmod discussion?
17:09:31brixena bit, I didn't really follow it
17:09:37dbussinkbrixen: it was interesting to find that on a lot of linux libc's it is a valid symbol
17:09:42dbussinkbut not exposed in the headers
17:10:51brixenwhat's the issue though?
17:10:59dbussinkoh, he was trying to fix some spec tags
17:11:07dbussinkthat say that on linux it raises a notimplementederror
17:11:22dbussinkbut on rbx it doesn't since it just finds the symbol and attaches it with ffi
17:11:34dbussinkwasn't an issue in the sense of someone having a problem with something
17:11:36headiusthat's a good one
17:11:54brixendbussink: ok I see
17:11:58headiuswe bind lchmod via FFI too, so I had to add specific platform tests for it to be unimplemented
17:12:21dbussinkfor now i'm for just leaving it as is in rbx
17:12:32brixendbussink: yeah, that's fine
17:12:55brixenI'm dubious that specs for raising notimplementederror are of any value at all
17:14:07brixenrubyspec really asserts that if 'foo' computes 'bar' on MRI, then it does so on X implementation
17:14:29headiusexcept there are libraries that check lchmod for NotImpl and do something different as a result
17:14:35headiusthough I'm not sure what the impact is
17:14:47headiusNotImpl isn't really exceptional
17:15:04dbussinkheadius: well, we don't raise notimpl
17:15:09dbussinkheadius: on rbx the method just works
17:15:19headiusor it doesn't respond_to? I presume
17:15:23dbussinkin this specific case
17:15:29headiussure
17:15:55headiusI'm just pointing out that it's not an uncommon pattern to attempt to call a NotImpl method and fall back when it fails
17:16:00headiuslike EAGAIN isn't really exceptional
17:16:43headiusof course MRI isn't consistent…sometimes unimplemented methods return nil, sometimes NotImpl, sometimes they're not there at all
17:16:50headiusc'est la vie
17:17:57brixendbussink: I love that there's no 1.8 and 1.9 compatible way to check that a particular class has a constant without special-casing code
17:18:06dbussinkbrixen: isn't that fun he?
17:18:17dbussinkbrixen: this was the easiest way i could think of it get it to work
17:18:20brixen1.9 just continues to be a shit ton of fun
17:18:28brixendbussink: it's fine
17:18:36brixenI pondered it a lot and it's just not worth fixing
17:18:49brixenin daedalus, the config won't be a hash
17:19:01brixenit'll be a proper instance with a proper API
17:19:04dbussinkbecause you know, we got objects!
17:19:05brixensomeday
17:19:09brixentotally
17:19:50brixendbussink: remember us talking about idris and the dependent typing stuff in LA?
17:19:54dbussinkjrbudnack: can i install gdb on that machine
17:19:57dbussinkbrixen: yeah
17:20:28jrbudnackdbussink: I'm trying a compile of rubinius on the new test box now
17:20:28brixendbussink: I talked with larry more yesterday, we'll probably see about getting the idris implementation language running on rbx
17:20:39dbussinkbrixen: ah, that would be awesome!
17:20:45dbussinkjrbudnack: in which directory?
17:20:48brixendbussink: it will be interesting
17:20:53dbussinkjrbudnack: i'm using the ~/rubinius one
17:21:11jrbudnackright now I'm just doing rvm to see if it works. this is a completely different box
17:21:15brixendbussink: I'm fixing the issue of rbx build finding an existing stale install directory now
17:22:26jrbudnackdbussink: were you able to log into 488 again? we rebooted it around noon because of the weird terminal errors we were encountering
17:22:41dbussinkjrbudnack: logged into the same machine
17:22:43dbussinkso probably fine
17:23:44jrbudnackok - well, lets see how this compile works on the other server. if it works, then its just something that's nerfed on 488
17:26:52jrbudnacknope - same problem
17:36:00dbussinkbrixen: do you think he needs more stuff vm side for that work on his language?
17:36:23brixendbussink: not sure yet, we'll have to see after working on it
17:42:59headiusis poly_cache merged yet?
17:45:54dbussinkheadius: no, not yet
17:50:24headiusok
17:50:43headiusi'm re-running some numbers with your bench for OpenJDK guys
17:55:05brixendbussink: did you fix that bench to not have an empty method?
17:55:39honebrixen: do you have a list a people who want to use rbx on heroku?
17:55:50brixenhone: not really
17:56:03brixenhone: did you get stuff built ok?
17:56:34honei think so
17:56:38honetesting some stuff out this morning
17:58:33brixenhone: sweet
18:02:52dbussinkbrixen: no, didn't change that yet
18:03:16dbussinkbrixen: but if i look at the llvm ir, i guess having to extract the class and setting up everything callframe wise is what takes most of the time on rbx
18:03:42brixenk
18:11:33headiusdbussink: I'm not clear on how polymorphic sites were a concurrency problem
18:11:57dbussinkheadius: basically because they were falling back to a global cache that has locking around it
18:12:11dbussinkheadius: that's a second thing we need to address, but didn't do that all at once
18:12:22dbussinkmake that cache lock free that is
18:12:25headiusoh right…so it's a hard lock for all threads regardless of the target type at that time
18:12:38dbussinkyeah
18:13:00headiusdoes that cache passively invalidate? i.e. it checks the cache on each access?
18:13:17headiuschecks validity, that is
18:14:31dbussinkheadius: it's actively cleared on gc and method redefinition etc.
18:14:38dbussinkheadius: if that is what you mean
18:14:52headiusGC clears the cache?
18:15:01dbussinkas in, validates / updates it
18:15:20dbussinkbut by invalidation you mean on method redefinition etc.?
18:15:31dbussinkin that case it basically wipes entries with a given name
18:15:35dbussinkor for a given class and name
18:15:39headiusyeah, basically…i.e. if you access the cache you know what's there is safe at all times
18:15:50headiusrather than having to check that it's safe every access
18:15:57dbussinkyeah
18:16:05headiusright, you only cache globally based on names
18:16:26dbussinkreceiver and name
18:16:35headiusso the cache key is a tuple of receiver and name
18:16:37dbussinkbut in certain cases you need to wipe for all entries with the same name
18:16:38headiusbasically
18:16:43dbussinkyeah
18:16:44headiusright, like module inclusion
18:17:18dbussinkthing is that it's currently not safe multi threaded because it's size limited
18:17:32headiusmmm…we do not have a size limit for our "global" caches
18:17:37dbussinkso entries can be overridden and if you get one back half way through that process it breaks
18:17:46headiussince they're only going to cache a finite number of entries anyway
18:36:42headiusdbussink: fwiw, I updated bench numbers for that poly bench with 1.9.3, rbx with no poly cache, and the upcoming new invokedynamic optimizer
18:40:15headiusnew indy stuff doesn't optimize as well yet, but degrades less
19:36:16dbussinkjrbudnack: ok, looks like i might have a cause of the problems
19:36:25dbussinkjrbudnack: this vm still has a very old gcc, 4.1
19:36:37dbussinkand it crashes somewhere in the c++ std library
19:39:05dbussinkjrbudnack: so i suspect this could heavily influence general stability
19:41:35jrbudnackhmmm...
19:41:40idlI was getting hangs with 4.1 recently
19:42:03idl*during build
19:42:46dbussinkand we have some comments on certain intrinsics missing for 4.1 32 bit
19:42:58dbussinkso i suspect it's not really a good stable release for rbx
19:43:04dbussinkidl: was upgrading the fix?
19:43:19idldbussink: yes
19:43:27jrbudnacklet me ask wayneeseguin if its ok to upgrade the compiler on those
19:44:33idlI upgraded to 4.4
19:44:42idlthis was on Centos 5.8
19:44:43dbussinkjrbudnack: if this vm type also has that weird crash you opened an issue for, i think it's a good idea to rule this out
19:55:04headiusFYI, a Proc#curry bug in JRuby also happens in rbx: http://jira.codehaus.org/browse/JRUBY-6769
19:55:12headiuswe use the same Proc#curry code from xshay
19:55:52dbussinkheadius: you have a fix already then?
20:01:05headiusno, looking into it now
20:02:04headiusI'll let you know if I come up with a patch
20:02:47dbussinkok, cool!
20:10:49idlFeels wrong that Symbol lookup is top of the profile for boot with -e ""
20:10:57headiusoh, I see it
20:11:13headiusidl: in JRuby, String interning (similar) is near the top
20:11:21headiusso it doesn't seem unexpected to me
20:12:22idlI just expected the interpreter to be top
20:15:31dbussinkevan: around?
20:17:16headiusidl: sounds pretty similar to us…boot time does some code execution, but code preparation costs a lot more
20:19:37headiusdbussink: https://github.com/jruby/jruby/commit/e309d2ca5415c7f968a13cd47fe25a75e9fab9be
20:20:55idlheadius: bet jruby doesn't have a strtol equivalent in 3rd spot ;)
20:21:49stu314hi, i was here some months ago and i think i've heard, that brixen was working on the 1.9 encoding stuff. is it correct? i was trying to read the git commits to the master branch, but i might have overlooked it. do you know if/when will this be in rbx? thanks.
20:23:24Gibheerencoding is ongoing pain and some parts are already in rbx 1.9 mode
20:25:39stu314Gibheer: is there a list with what is missing or needs to be done?
20:26:34headiusidl: I can check
20:26:42headiuswhat are you using as your test case?
20:27:04Gibheerstu314: there are some tickets in the github issue tracker and I think brixen also has some things on his own list somewhere
20:27:04idlheadius, no no don't waste your time :)
20:27:15headiusI'll show you sampled and profiled JVM results if you like
20:27:34headiusI'm obviously interested in improving startup time as well, but I mostly feel like I know why we're slow
20:27:46headiusthere's not really a good answer for it
20:29:27idlnah, it's not that important.. I'm just browsing around really.
20:29:51headiusokeedoke…if you want to chat about it I'm here
20:31:27stu314Gibheer: i'd like to spend some minutes on rbx development once upon a time, it will help me to organize if there was some up-to-date todo list tagged with ruby/c++/easy/hard/etc for the issues or specs. something like http://mail-index.netbsd.org/tech-pkg/2012/06/14/msg009525.html done by someone experienced, like e.g. brixen :)
20:33:13GibheerI hove not enough insight, just reading the channel and sometimes and commit logs, so that is all I know :D
20:33:55idlstu314: http://rubini.us/2011/10/18/contributing-to-rubinius/
20:34:09idlstu314: it has instructions for getting a list of failing specs
20:40:17stu314idl: thanks, i've read this some time ago, i've already added some failing specs myself, but a failing spec doesn't give me any picture of e.g. if i'll throw 2 hours of work at it if it brings something. some brief analysis of the spec with a 10 words of what needs to be done will help i think.
20:41:27idlstu314: that's true. I agree something like that would be helpful. Though if you don't manage that fix a failing spec, you still probably learned something :)
20:42:54stu314idl: yes, but if i have only the 2 hours, the project will surely benefit more, if it was not wasted on my learning :-D
20:49:07dbussinkstu314: the problem is that a lot of the easy stuff in the specs is gone
20:49:13dbussinksince that has been taken care of
20:49:29dbussinkstu314: running your own code and get that run is often a better source for easier bugs
20:51:59DefilerSlightly off-topic, but this is a likely place to find someone who knows..
20:52:31DefilerWhat breaks in MRI 1.8.7 -> 1.9.2 on newer, LLVM-based toolchains like what you find with recent XCodes?
20:52:59Defilerrvm's terse notes claim that it 'isn't supported' but that's not super helpful
20:55:10headiusbeats me, but it annoys me that I can't install 1.8.7. via rvm on Lion
20:55:26dbussinkDefiler: mri crashes hard with llvm-gcc
20:55:27headiusseems like something that would be worth patching in 1.8.7
20:55:37dbussinkbut you can install the command line tools
20:55:47dbussinkthat will install regular gcc and thus allows to install 1.8.7
20:56:10DefilerOh, so if I've got the xcode cmdline tools installed (and I do), I'm fine?
20:56:27DefilerThe rvm notes don't make it clear that it's only llvm-gcc that isn't supported
20:57:05dbussinkDefiler: that works fine for me (works on my machine disclaimer)
20:57:19Defilercool
21:15:59headiusI have command line tools installed and rvm still complains
21:48:34idlwhy does Symbol lookup use its own collision detection?
21:56:05brixenwhat do you mean?
21:56:13brixenstrings x and y can have the same hash value
21:56:24brixensymbols for strings x and y must not
21:56:29brixenhave the same value
21:56:52brixenthe existing symbol map is going to be changed quite a bit anyway
21:56:56brixenso don't waste your time on it
21:57:29brixenif you want to investigate startup, you're going to need to instrument rbx according to the main activities being done
22:01:40idlbrixen: I thought unordered_map already handled collisions
22:01:56brixenit has no concept of the collisions we are talking about
22:02:04brixendid you not understand what I said above?
22:02:10brixenyou have two strings, x and y
22:02:14brixenwe hash them
22:02:17brixenthat hash can collide
22:02:24brixenwe store the strings themselves
22:02:34brixenon a collision, you have to search
22:03:00idlI see.
22:03:01brixenyou'd need a perfect hash for every possible string to have a raw unordered_map work
22:03:40idlwell, I was going to see if Google's dense hash map has any benefit over unordered_map...
22:04:39brixenhone: how are things going?
22:07:21honebrixen: http://aqueous-lake-2895.herokuapp.com/
22:07:23honeboom!
22:08:31honehttps://gist.github.com/2f7e9c1505965928bea2
22:12:25brixenhone: bro, you da man
22:12:43brixenhone: I think I got the issue fixed with rbx finding stale runtime directories
22:12:50brixenI'm testing it now a bunch of ways
22:12:58brixendo you want a new tarball with that?
22:15:54honesure?
22:21:07brixenhone: it's really up to you
22:21:13brixenif it fixes any issues you have building
22:21:22brixenotherwise, do you want to do a weekly update or something?
22:21:27honewell, it's a clean build on vulcan
22:21:30honeevery time
22:21:31brixenok
22:21:33brixengreat
22:21:43brixenI can get you a tarball every week if you want
22:21:50brixenjust tell me the day
22:22:41honeok
22:23:17honebuilding 1.8 rbx now
22:46:23honebrixen: going to port farmhouse conf over
22:46:29honeto see if i can get it up and running
22:56:19brixenhone: sweet