3 ms·
Does anybody happen to have the video for the talk? I'd be much obliged. Just the slides leave a bunch of holes I want to fill in. I can only find the videos f
by barsonme 11y ago
Does anybody happen to have the video for the talk? I'd be much obliged. Just the slides leave a bunch of holes I want to fill in.
I can only find the videos from 2014.
- mraleph 11y agoIt was recorded but I don't know when it will be publicly released. This talk is a combination of two separate talks I have given before plus two new examples, based on my recent endeavors. Talks merged here are LXJS 2013 one[1] where I talk about microbenchmarking pitfalls and WebRebels 2014 one[2] where describe how bugs in VMs can affect benchmarking results. If you have any questions about the slides just ask them here or send me an email --- I will try to answer as soon as I can. [1] https://www.youtube.com/watch?v=65-RbBwZQdU https://www.youtube.com/watch?v=65-RbBwZQdU [2] https://webrebels.23video.com/crooked-mirrors-of-performance-by https://webrebels.23video.com/crooked-mirrors-of-performance...
- tosh 11y agoThanks!
- barsonme 11y agoOkay, thank you! I enjoyed the slides and those talks will give me a lot of study material for tonight. Thanks again!
- randomfool 11y agoYour talks always frighten me when it comes to VM's. I just want predictable performance- is that too much to ask? (Semi-serious question). edit: to clarify. In C++ I write dumb but readable code knowing that the compiler will always perform specific optimizations. In JS it seems that there are many factors resulting in different optimization levels. How do I ensure that the VM does not execute my 'dumb but readable' code literally? Without that guarantee it seems that I have to frequently resort to optimized yet unreadable code.
- mraleph 11y agoI obviously craft/collect examples of V8 going off the rails for these talks just to show that VMs are software and all software has bugs --- and those bugs don't necessarily manifest as crashes and incorrect results - they can lead to worse performance and developers must be ready for this: must be ready to diagnose these issues, report them and work around them. For a single test case where V8 goes off the rails there are millions of lines of code across the globe which V8 optimizes correctly. On a funny note: I actually do have a version of this talk where I show GCC going slightly of the rails and producing a code that is 3 times slower than it should be because it hits an (infamous) partial register dependency stall --- see StackOverflow question[1] for the gory details. > How do I ensure that the VM does not execute my 'dumb but readable' code literally? Well, as I do say in the talk: reasonable code should be reasonably fast. If it is not the case --- file bugs with VM vendors. Keeping your code relatively static / monomorphic is the best way to achive performance in any language. In any case I think it's much much much more important to optimize algorithms not their concrete implementations. [1] http://stackoverflow.com/questions/26585977/64-bit-code-generated-by-gcc-is-3-times-slower-than-32-bit/26588074#26588074 http://stackoverflow.com/questions/26585977/64-bit-code-gene...
- vardump 11y agoC++ performance is a true minefield between different compilers and their versions. For example, fail to provide correct incantation of compiler flags or do something in code that confuses auto-vectorization, and your performance can suffer by an order of magnitude. I guess a lot of Javascript micro-optimization comes down to don't change field type and give type hints in assignments. Like: var integerType = 0|0; integerType = 45|0; integerType = (integerType + 1)|0; That '|0' tells the Javascript VM that you have integer as real data type. If you'd suddenly assign 'integerType = 5.1;' or 'integerType = "string";', the built in guards would make the JIT compiled native code to fail and the Javascript engine would fall back to interpreting. Emscripten can be used to compile C++ into Javascript. Perhaps it could help you?
- bjorn2404 11y agoReally enjoyed that LXJS 2013 video the first time I saw it highlighted on Dave Methvin's blog ("Please Stop the jsPerf.com Abuse!"). Hilarious and very informative - thanks!
- voltagex_ 11y agoFrom https://www.youtube.com/playlist?list=PLEx5khR4g7PJPfVDB1nUpsY2OG2wIf7hW https://www.youtube.com/playlist?list=PLEx5khR4g7PJPfVDB1nUp... it looks like you might be waiting a while - 2014 conference was in May, videos went up early/mid August.
- voltagex_ 11y agoAdding more info: https://twitter.com/GOTOchgo/status/598489575481286656 https://twitter.com/GOTOchgo/status/598489575481286656 Sign up to their newsletter at http://gotocon.com/chicago-2015/ http://gotocon.com/chicago-2015/