Performance Summit events serve as a place for software performance enthusiasts and practitioners to meet and discuss challenges, research and possible solutions around delivering delightful and efficient software solutions.
You can find additional event resources in github.com/ttsugriy/performance-summit
I personally use 9 performance principles - some of which are the same as the 5 outlined in this video. Some of the differences seem to be "CPU to data distance" and "data size" ... I cover the principles I use in my video "My 9 + 1 core performance optimization principles" : ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ULlFWomaPVw.html
Adobe should optimise their software to have less source code in general based on the results of this. Write slimmer code and the performance isssue goes away.
31:43 Great talk. More about optimization remarks and viewing them can be found in Ofek’s talks such as ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-6HbyacS5eZQ.html
Audio is too low. The (section) flags are neat. As it's a performance presentation, it would have been neat to include a running tally as go through the optimizations. You do cover it in the conclusion, of course. Good job!
thank you laurence very interesting. i have a trading app written in java that takes a good few hours to speed up. this has given me the incentive to find out exactly when jit compilation is happening.
"Developers love Kafka api" - are you serious? After a year working with Kafka, I know some configuration choices and design problems I still shudder at
lossy compression here. what ppl want is their existing apps to go faster w/ no code changes. the partitioning scheme of un ordered collection with totally ordered sub collections is pretty handy as a modeling. what you point out is the heavy weight nature of partitions which is true, but the mental model is helpful.
As he mentioned in the intro, the whole point of "fast CHEAP interpreters" is that you wouldn't need JIT compilation which is "not cheap" because special domain knowledge on assembly/hardware is necessary for JIT/inline threading.
@@SimGunther I think rurban's point is that there are JITs that are quite simple to make. Look at the Kaleidescope tutorial for LLVM. You don't actually need to know anything about platform specific ASM.
@@hardknockscocIt's one thing to use someone else's JIT library so you don't need "platform specific knowledge" about the assembly you're creating, but it's a different story rolling your own JIT library, which is what I assumed in the original comment. You could also be a LISP-kinda person if you want to write a whole interpreter in SBCL/scheme running your whole program tree with C shared libraries for performance intensive stuff. That is technically a way of going about JIT without "platform specific knowledge" unless performance is the only concern for the interpreter.
@@hardknockscoc Even when using LLVM IR, it's a huge hassle for high-level languages. For instance, implementing a language like Scheme (or any language with call/cc) is straightforward in a virtual machine or interpreter, but it's a major headache on the machine stack. Simply translating it won't yield effective results. Another issue is compile time. Usually, we use scripting languages not for compute-bound program, but to assist the host language in configuring some data. Imagine your build system script just contains some build logic and file paths, but the script's compile time is longer than its execution time. To address this, sufficiently mature JIT compilers are typically multi-tiered, but implementing this is also a significant challenge.
he stated that intra-datacenter network latencies nowadays between machines was on par with inter-NUMA latencies. that’s just categorically untrue. 100s of nanoseconds vs 100s of microseconds. that’s 3 orders of magnitude.
Great job guys, and thanks Nitin to share this discussion and your vision. I really liked the concept and topic which fits o app such Linkedin. Nevertheless, there were some missing points like: - Evaluation of used prognostic models (Accuracy for prediction concepts expressed by error analysis) - Compare ML (Xboost) Vs DL (DNN) or offline NQS - Type & quality of NNs architectures were used for predictive models (info about the best model and its hyperparameters) - feature importance mechanism was used for feature engineering just for Xboost since in Deep Learning it's done by NN itself. - Is it possible to access the dataset you used like open-source?
Hey Mehryar. These are some good questions. Thanks for posting them. We are working on a detailed LinkedIn engineering blog focussed on Machine Learning aspects of this solution. We haven't open sourced this data yet, but we have it in our radar.