Skip to content
DevMeme
2256 of 7435
C++ devs brag when micro-optimizing beats a tiny Python script by 0.4s
Languages Post #2511, on Dec 22, 2020 in TG

C++ devs brag when micro-optimizing beats a tiny Python script by 0.4s

Why is this Languages meme funny?

Level 1: Big Effort, Small Win

Imagine two friends have a race to do a simple chore, like delivering a message across the playground. One friend, let's call him Charlie, spends all day building a super-complicated toy car to carry the message really fast. The other friend, Alex, just jogs across with the note in his hand. Sure enough, Charlie’s fancy little racecar does finish the task a bit faster – maybe a few seconds ahead of Alex. Charlie jumps up and down, bragging, “I’m the fastest! I am speed!” He’s as proud as a champion driver winning a race. But the funny thing is, everyone else can see how much extra effort Charlie put in for that tiny head start. Alex’s simple jog was only a tiny bit slower, and Alex didn’t have to build anything at all. The joke here is that Charlie did a ton of unnecessary work to win by a hair, and now he’s gloating about it. It’s like using a race car to beat someone on a bicycle by half a second, then acting like you broke a world record. It makes us laugh because the big effort for a small win is just not as impressive as Charlie thinks it is.

Level 2: Speed vs Simplicity

Let’s break down the joke in simpler terms. We have two programs solving the same problem: one written in C++ and one in Python. The C++ program is huge – about a thousand lines of code – while the Python solution is only about 10 lines. After all that extra work, the C++ program runs only 0.4 seconds faster than the Python one. The meme shows the C++ developer feeling as triumphant as a racecar champion, proudly saying “I am speed” (just like Lightning McQueen from the movie Cars).

Why would C++ ever beat Python in speed? The key is how these languages run. C++ is a compiled language. This means when you write C++ code, you run it through a compiler that translates it into machine code (the low-level instructions the computer’s CPU understands directly). Because of this, a C++ program can execute very fast, since the computer is running optimized machine instructions without much overhead. Python, on the other hand, is an interpreted language (specifically, CPython is interpreted). When you run a Python script, the Python interpreter executes your code line by line on the fly, which adds extra work during runtime. Python also does things like automatic memory management (garbage collection) and dynamic type checking while the program runs. These conveniences make coding easier, but they add overhead that slows Python down in raw execution speed compared to C++.

Now, if C++ is faster, why doesn’t everyone just use C++ for everything? It’s because of a trade-off between runtime speed and development time. Writing in C++ often requires a lot more effort and code for the same task. In the meme, the C++ solution is 1000 lines long because low-level languages like C++ make you spell out many details. For example, you have to declare data types, manage memory (allocate and free memory manually), and handle low-level operations yourself. Python is a high-level language, which means it abstracts away those details. A Python program can accomplish the same goal in 10 lines by using high-level constructs and libraries that do a lot of work for you behind the scenes. This difference is huge: a task that might need complex setup and loops in C++ can often be done with a few built-in functions or a one-liner in Python. In short, Python lets you write simple and concise code, which saves the developer’s time and effort, but the computer might take a bit longer to run it. C++ demands more developer time (writing and debugging many lines of code) but the final program can run faster and more efficiently.

The humor of the meme comes from this speed vs simplicity trade-off being taken to an extreme. The C++ dev has clearly put in a lot of work (1000 lines is a lot of code!) to get a program that runs only marginally faster (0.4 seconds is less than half a second) than the quick Python script. Micro-optimization is the term for when programmers focus on making very tiny performance improvements in their code. For example, they might obsess over using a slightly faster way to loop or a little trick to save a few milliseconds. Here, saving 0.4 seconds is the result of such micro-optimizations. On paper, yes, the C++ code “wins” the race – it is faster. But the meme jokes about whether that win was worth the huge increase in code and complexity.

This ties into a common saying: premature optimization. That means trying to make your code super efficient before you know if you really need that efficiency. It’s usually better to first write a clear and working program, and only optimize parts of it if you discover they are too slow (often by measuring or profiling the code). If you optimize too early, you might spend a lot of time making something faster that was already fast enough, or you might complicate the code for very little gain. In our scenario, the Python script might have been running in, say, 2.0 seconds originally, and the C++ version runs in 1.6 seconds. If 2.0 seconds was already acceptable to the users, spending extra days or weeks to trim it to 1.6 seconds is premature optimization. The code became harder to read and maintain for a speed-up that most people wouldn’t even notice.

Now about the picture and the quote: The meme uses Lightning McQueen, a character literally built for speed – a red race car from a Pixar animated movie. In the film, Lightning McQueen confidently says “I am speed!” before a race to psych himself up. In the meme, the C++ developer is portrayed as Lightning McQueen, declaring “I am speed!” to show how proud they are of their code’s performance. It’s a funny exaggeration because beating the Python script by 0.4 seconds probably doesn’t warrant that level of swagger, but to the C++ dev it feels like a big victory. The smug expression on the car’s face in the image matches the joke: the developer is very pleased with themselves.

For someone new to programming, the takeaway is about finding balance. C++ vs Python is a common comparison. C++ can run much faster and is great when performance really matters (like in video games, computer graphics, or real-time systems), but it requires writing more code and handling more complexity. Python is slower for CPU-heavy tasks, but it lets you write programs quickly and with less fuss, which is why it's popular for things like web apps, automation scripts, and data analysis. There’s an ongoing friendly rivalry (sometimes called language wars) between fans of different languages, and they like to compare whose is “better” – whether in speed, ease of use, or other aspects. This meme is a light-hearted jab in those debates. It shows an extreme case where one side (the C++ side) wins in speed, but it’s kind of a hollow victory because the effort was so disproportionate to the gain. In real life, good developers don’t brag about tiny improvements like this – instead, they focus on writing code that is fast enough for the task and easy to maintain. If a simple Python script gets the job done in a reasonable time, that’s usually a win. But if you truly need every bit of performance (for example, if you had to do that task millions of times a day, and 0.4 seconds saved each time actually adds up), then pulling out the big guns with C++ or optimizing the code could be justified. The meme exaggerates it to make us laugh: it’s poking fun at the idea of doing way more work just to brag about a tiny speed boost.

Level 3: The 0.4-Second Grand Prix

Behold the triumphant Lightning McQueen-like smirk on that C++ developer. In this meme, a C++ dev is boasting that their thousand-line, hand-tuned program is 0.4 seconds faster than a compact 10-line Python script. The image of Lightning McQueen from Cars saying "I am speed" perfectly encapsulates this performance bragging. It's the classic cpp_vs_python showdown: a low-level codebase revving at full throttle to beat a high-level script by a nose.

From a seasoned engineer’s perspective, the humor comes from the extreme micro-optimization effort for a vanishingly small payoff. C++ is a compiled language known for efficiency: it translates code directly to machine instructions, giving it a head start in raw speed. Python, on the other hand, is usually interpreted (executed through a virtual machine), which adds overhead at runtime. It's unsurprising that well-optimized C++ can outrun Python for CPU-heavy tasks. But here the victory is merely 0.4 seconds – a rounding error in many real-world applications. The meme exaggerates the lines_of_code_flex: the C++ code is a sprawling thousand lines (managing memory, inlining functions, perhaps some template metaprogramming wizardry), while the Python version is a neat 10 lines leveraging high-level abstractions. The C++ dev invests significantly more developer time (and introduces more complexity) for that slim performance edge.

This scenario lampoons the phenomenon of micro_benchmarks and premature optimization. A micro-benchmark might show a C++ loop running slightly faster than an equivalent Python loop. It's a small-scale test that ignores bigger context – much like bragging about winning a 100-meter sprint by a fraction of a second after months of extra training. Experienced developers even have a famous warning about this, from computer science legend Donald Knuth:

"Premature optimization is the root of all evil."

In other words, obsessing over tiny speed gains before they’re proven necessary can lead to wasted effort and overly complex code. Here, the C++ dev’s pride ("I am speed!") is funny because the trade-off is so skewed: they probably burned hours or days tweaking code to save a fraction of a second in runtime. Meanwhile, the Python dev got the same result working in minutes with a simple script.

Under the hood, that C++ program likely employs every trick to gain speed. It might be using manual memory management (avoiding garbage collection and squeezing every byte), inlined functions, loop unrolling, or even SIMD vector instructions. Compiler settings are probably cranked up to -O3 for maximum optimization, maybe even profile-guided optimization for that extra push. The result? Sure, it's fast – but it's also verbose and potentially fragile. A thousand lines of C++ can hide segmentation faults, memory leaks, and undefined behaviors if you're not careful. That 10-line Python script, conversely, uses clean, readable calls to well-tested library functions (written in C/C++ behind the scenes, ironically) and was ready to run in no time. The runtime_vs_devtime_tradeoff is crystal clear: optimizing for the machine’s speed has dramatically slowed down the human developer.

Many of us have seen this movie before (pun intended). In programming forums and code reviews, there's often that one enthusiastic engineer who rewrites a Python snippet in C++ just to show it's faster. They seize on benchmarks where the difference is measurable and declare victory, "Ka-chow!" The rest of the team might roll their eyes because in practice, users might never notice a 0.4 second improvement – especially if network calls, database queries, or user input dominate the overall response time. This meme’s relatable humor comes from shared experience: every senior dev remembers a time they (or a colleague) fell into the trap of optimizing the wrong thing. It's a gentle roast of prematureOptimization and the obsession with winning on paper. Why spend a week in C++-land conquering 0.4 seconds when you could spend that time implementing new features or improving an algorithm's Big-O complexity (which could save whole seconds or more)?

There's also a nod to ongoing LanguageWars culture. Fans of statically-typed, compiled languages like C++ (or Rust) often take pride in raw performance and control. Fans of dynamic languages like Python boast about agility and simplicity. Here the C++ camp has its moment to gloat about speed, personified by Lightning McQueen's confident grin. The meme jokingly implies the C++ dev’s ego is riding on this win, no matter how trivial. The image of a flashy red race car on a pro track, smugly saying "I am speed," is a tongue-in-cheek portrayal of that developer’s inner monologue. It's a playful jab at how performance bragging can cloud practical judgment. In the end, seasoned engineers know that maintainability, clarity, and real user impact matter as much as raw speed. This meme gives a knowing wink to that wisdom: sure, your C++ code is fast as Lightning – but was 0.4 seconds really worth the pit stop?

Description

The meme is a single-panel image. Across the top, black text on a white background reads: "C++ devs when their thousand line code is .4 seconds faster than a 10 line python code". Below that, a frame from Pixar’s Cars shows Lightning McQueen racing on a NASCAR-style track, angled forward with a smug grin. At the bottom centre of the frame, yellow subtitle text says "I am speed". In the lower-left corner is a small watermark "made with mematic". Technically, the meme pokes fun at low-level language enthusiasts who write large, verbose C++ codebases purely to eke out fractional performance gains over a short, high-level Python implementation, highlighting the perennial trade-off between developer time and runtime speed

Comments

85
Anonymous ★ Top Pick Great job shaving 400 ms - about the same time the build system spends deciding which of your template metaprogramming sins to recompile for the hotfix
  1. Anonymous ★ Top Pick

    Great job shaving 400 ms - about the same time the build system spends deciding which of your template metaprogramming sins to recompile for the hotfix

  2. Anonymous

    After 20 years in the industry, you realize the real performance bottleneck was the 6 months it took to debug those thousand lines of C++, while the Python dev shipped three features and is already on vacation

  3. Anonymous

    Ah yes, the classic C++ developer's victory dance: spending three weeks optimizing memory allocation patterns and implementing custom SIMD intrinsics to shave 400 milliseconds off a batch job that runs once a month, while the Python team shipped five features using list comprehensions and called it a day. But hey, when that performance report shows your code executing in 0.6 seconds versus their 1.0 second, you get to feel like Lightning McQueen at Daytona - even if the business stakeholders can't perceive the difference and your codebase now requires a PhD to maintain. The real speed was the template metaprogramming we mastered along the way

  4. Anonymous

    1,000 lines of C++ to beat 10 lines of Python by 400ms - Amdahl’s Law says the win disappears behind the 2s network call and the 40‑minute build

  5. Anonymous

    Nothing says "I am speed" like 1,000 LOC of C++ templates, PGO, and a custom allocator trimming 400 ms off a nightly job - Amdahl's Law says only the pride scales

  6. Anonymous

    C++: 1000 lines of pain for 40ms glory. Python ships first; users never notice

  7. @sylfn 5y

    Not .4 seconds, but .4 nanoseconds

  8. @Withouthatewithoutfear 5y

    It adds up over time

  9. @i_wdt 5y

    .4 milliseconds is a lot

  10. @LonelyGayTiger 5y

    I think people frequently underestimate the performance benefits of compiled rather than interpreted code. That being said, I'm more of a Java person than C++ anyways. There's a time and a place for python, that's in code that's not performance sensitive.

    1. @RiedleroD 5y

      absolutely. I'm programming on a sorting visualizer (check it out) in python and I'm having a bad time trying to get those 60fps on my pentium machine. Currently ~40fps with most sorts, 10-15fps with Radix LSD base 16 OOP…

      1. @p4vook 5y

        have you tried pypy?

        1. @RiedleroD 5y

          yes I have tried pypy. it doesn't run much faster in my case. Next thing I'm gonna try is nuitka.

          1. @cheburgenashka 5y

            Python have GIL so pypy won't help in any multithreaded solution. And yeah, python have async model but it sucks bollocks so much in comparison to JVM. And native doesn't come close to JVM due to memory management issues.

            1. @RiedleroD 5y

              idk my experience with java is that the JVM is slow as hecc. no shit, any java application I've ever used was incredibly sluggish. I'm always trying to find a compiled alternative to any java application I like. Aside from that, I tried to include multithreading, but the library I use to draw stuff (pyglet) really doesn't like that. The GIL isn't a problem at all imo. I've definitely gotten multithreading to work like a charm in different applications, but this one just isn't possible. Also also pypy doesn't have anything to do with multithreading, it's a JIT compiler.

              1. @cheburgenashka 5y

                Lol, you lil troll. No problems with GIL? Are you sure you did real multithreaded? JVM bootstrap slow as fuck but after a warm-up it runs better than native cause IRL only 1% of the code runs 99% of the time and after JVM hotswap optimization most of the code can fit into CPU cache (if it's not a monstrous soft of course, usually works for backend services) for desktop apps it might not be as noticible because of uneven usage. > Also pypy doesn't have anything to do with multithreading... So it doesn't have anything to help with GIL, so it won't help at all when GIL kicks in. You cannot do real multithreaded without GIL blocks when you have to collect processed data from threads into single structure and it kinda kill the idea of the multithreaded benefits. Same is true for async. Even if you do process immutable data it works fine only until you have branching. Once you have branching on the pipeline or working with any mutable kind (even if it's guaranteed that there will be no trace condition) coroutines and asyncs become so blocking and sequential thanks to GIL.

                1. @RiedleroD 5y

                  ok. look. there's the threading module. it does multithreading. I've used it, fucker. JVM is slow as fuck in general, I've been using a lot of java programs until I realised that while trying to get my laptop to run faster in general. the GIL is not some evil entity that slows down your programs, it's just a global multithreading lock. it doesn't "kick in" and it doesn't do anything at all when multithreading isn't involved. The async implementation in python is single-threaded from what I've seen. It's just pseudo-multithreading or something idk. I haven't really used that a lot. As long as you don't constantly modify global variables, multithreading does help a lot in python. Provided you use actual multithreading, like the threading module ofc.

                  1. @cheburgenashka 5y

                    No you fucker. First of all global interpreter lock and not global multithreading lock. Secondly it does "kicks in" when you have threads touching shared memory. When threads do not interact with each other then yeah, it works. But this is suitable enough for some script kiddie tasks only. On real data pipeline processing it sucks proportionaly to the load. Seems like you don't understand async in general, not just in python. But yeah, it's single reactor on python and JVM have poly reactor as well. But even if you compare single reactors on python even you do not mutate the mutable structure but does share an access to it will cause GIL to synchronise even if coroutines do not run in parallel threads (at least there are some libs that provide threaded pools within async model. Helps a lot in parallel net-requests but not in parallel processing.) Using slow Java programs is not an argument. You cannot compare experience from some crap you used to performance of same solution on different stacks. I do write both in python and Kotlin/JVM so I can compare. I don't tell python is slow just because I've seen horrible performance of beautiful soup library but because I've seen shit performance while developing and tried other tech stack and found it not only superior but also more pleasant as you achieve more for less effort.

                    1. @RiedleroD 5y

                      observe

                      1. @cheburgenashka 5y

                        Idiot, I told you it’s fine unless you touching shared memory, running buch of isolated factorials is nothing as GIL doe NOT kicks in. Not a practical case.

                        1. @RiedleroD 5y

                          That's why I used Decimal. If you knew how python worked, you'd know that every time a non-overridden object function (like the methods that Decimal defines for multiplying) it has to check the class that is definitely still in one place and therefore shared between processes.

                2. Deleted Account 5y

                  JVM faster than native?

                  1. @RiedleroD 5y

                    I think he means native python. If not, wow, what ignorance.

                    1. Deleted Account 5y

                      Read the second line

                      1. @RiedleroD 5y

                        I've read the second line. that's not really how it works, but sure I guess.

                        1. Deleted Account 5y

                          Perhaps it can work like that, but it will not be faster than C/Assembly

                          1. @RiedleroD 5y

                            aye. I don't know the specifics of how Java works internally, but I do know that no matter how fast it is, it's not faster than compiled code lol.

                            1. Deleted Account 5y

                              Yep

                          2. @cheburgenashka 5y

                            Well have fun codding microservices in asm. But C++ won’t surpass warmed up JVM not to mention pain in ass wuth manual memory managment (and yes 1k more lines of code, have fun)

                            1. Deleted Account 5y

                              no, jvm will always be slower than c++ because 1) c++ does much more things at compile-time 2) c++ does not have garbage collector

                              1. @cheburgenashka 5y

                                Not having GC doesn’t mean your code will be magically faster. You will need to allocate and free memory so what? You’re must be a god of gods guru to write soft as quickly as on JVM without having memory issues. Anywhay your memory managment model does not guarantee it will be better. GC only slow downs at very speciffic corner cases but in general they quite awesome at performance so DO NOT generalize that GC is slow just because it exists. I was young and loved C++ today I would never go back to that manual labor of memory managment. I won’t go back even if it will be 20% faster. Not worth the time, the nerves, and debug time to invest into such hell for a superior boost at corner case I might not have at all.

                                1. Deleted Account 5y

                                  i may only ask you about your experience with c++ "manual memory managment" that made it so bad? my experience is that to write memory-safe code you only need to define your constructors and destructors, or use standard smart pointers, for best performance write a custom allocator (although i prefer just to reuse my structures) Main problem with gc is that it introduces stuttering, making it impossible to use in latency-critical applications (like games or embedded systems)

                                  1. @cheburgenashka 5y

                                    Oh dear… Where do I begin. Custom allocator? Really? in 2020? And not everything is just a basic class with C/Dtors. There are resources, impossibly hard multithreading, and pointers, oh my. I’ve seen some horror, I did some horror myself. After C# I realized life shall not be so hard. And memory leaks, oh god! Such a pleasure to debug if ouy uber-mega-DBSM lover.

                                    1. Deleted Account 5y

                                      if you want to optimize for YOUR allocation patterns ofc you want to write your own custom allocator duh

                                      1. Deleted Account 5y

                                        Thats true

                                      2. @cheburgenashka 5y

                                        Nah, I wanna concentrate on a solution, not the magical knowldge of how compiler optimizes (or failing optimization) or mastering the never ending knowladge of UB

                                        1. Deleted Account 5y

                                          then use std::allocator, and pay for not perfect allocation patterns

                                          1. Deleted Account 5y

                                            like in java

                                    2. @RiedleroD 5y

                                      oh, no, programming is suddenly a challenge, quick, let's go back to java

                                      1. @cheburgenashka 5y

                                        Java sucks but Java is not the only one. The JVM itself is super awesom runtime. Kotlin, Scala, C# there are some good langs with a preety BUT!!! When you say it like so you must understand I am not talkin B/W there is a reason for ASM but there is a reason for hier abstraction languages. Programmer soesn’t need to extend his knowlage to be perfect at knowing how transistors work in CPU, not even asembly, not even the 100% knowlage of OS guts. There is time a place for low level langs and yes if you se them you have to know the hardware. C++ is kinda suck becouse it is kinda hieghr abstraction lang but still require excessive knowladge of the hardware yet not leveraging you from memory managment. Now will you take C++ for back-end services? Highly unlikelly. Do you need to know OS and hardware to compose data pipelines? Nope. So why chousing masochism?

                                        1. @RiedleroD 5y

                                          java has it's place, and it's in 2010

                                          1. @cheburgenashka 5y

                                            I said already Java sucks. It took too much time to evolve but it is a Java Virtual Machine that rulezz

                                            1. Deleted Account 5y

                                              jvm has another problem which simply doesn't exist in c++, it's using type erasure heavily and unnecesarily, which causes overhead

                                              1. @cheburgenashka 5y

                                                Yeah thats true but inlining allows to mitigate such issue (also Kotlin’s invention) still JVM does have reflection support. If you really need you can accept for performance penalty of course. If you really need to get rid of the run time Graal allows you to compile AOT your JVM code into native (tree shaking included) so you cannot say after that that C++ is superior in runtime. Some points where C++ will be beter will remain but it will never outweight the overall benifits of JVM runtime (or Graal compilation into native)

                                                1. Deleted Account 5y

                                                  the thing with c++ is you will never have to pay in runtime for anything, because c++ compilers can evaluate a lot of code at compile-time, so it can not just inline but compile away a lot of code, just look at what clang does with -O3 flag

                                                  1. Deleted Account 5y

                                                    of course that's a blessing and a curse in form of veeery loooong compilations, but runtime performance shines

                                                    1. Deleted Account 5y

                                                      and by the way https://docs.oracle.com/en/graalvm/enterprise/20/docs/reference-manual/llvm/

                                                      1. @cheburgenashka 5y

                                                        Well duh! That's the point of the Graal.

                                                  2. @cheburgenashka 5y

                                                    Yeah, especially cool when you get some implicit UB accedentally and different optimization modes gives you different bugs 🤪

                                                    1. Deleted Account 5y

                                                      and it's especially cool when you declare it constexpr and it fails to compile instead of introducing a bug

                                                  3. @p4vook 5y

                                                    Clang may ruin your application with -O3 flag, because it's unstable iirc

                                                    1. Deleted Account 5y

                                                      I use my clang with -O3 only, it can optimize away your program if it has ub, but otherwise it goes just fine

                                        2. Deleted Account 5y

                                          > Now will you take C++ for back-end services? Highly unlikelly google has its backend in c++ tho, so not that unlikely

                                          1. @cheburgenashka 5y

                                            They also investing heavily into Kotlin and kinda pushing it over their own creation go programming language so?

                                  2. Deleted Account 5y

                                    furthermore, in c++ manual memory managment ig HIGHLY DISCOURAGED because it is in most cases exception-unsafe

                                    1. @cheburgenashka 5y

                                      C++ is largelly discourged. Last years it standrds looks like Kwazimodo trying catch up with new cool features of other languages.

                                      1. @RiedleroD 5y

                                        discouraged by whom? you show me that article.

                                  3. @RiedleroD 5y

                                    absolutely. If you can't deallocate your memory properly, what are you even doing?

                                2. @RiedleroD 5y

                                  not having a GC means your code won't be magically faster, but it means the code doesn't have to check if garbage is there to collect. Which makes it faster without using magic, since you can specify yourself when you deallocate the memory, so the program doesn't have to check what you don't use anymore.

                              2. @cheburgenashka 5y

                                And do not underestimate hot-swap. It might overcome GC slowdowns so it won’t bother you much. Also there is a new mega cool GC in development that render such claims obsolete. And awesome project loom (that basically rips Kotlins coroutines hood into JVM standard) Nah… Nothing will catch up so soon with kinky stuff JVM and Graal brings. Assembly is more native and faster but I do not see people using it for web… Nor C/C++ (except few marginal cases like web servers on IoT devices) so perhaps it’s not just about which stack is faster but an overall experience of dev life-cycle and managment/maintanence.

                                1. @p4vook 5y

                                  Actually, Rust (on WebAssembly) is quite good for client-side web. That's because JavaScript is a complete mess.

                              3. Deleted Account 5y

                                .

                              4. Deleted Account 5y

                                gc can speed up program execution, and jvm does compile time at runtime so it does more things

                                1. Deleted Account 5y

                                  Wtf did I just read

                            2. Deleted Account 5y

                              I said I code in ASM?

                              1. @cheburgenashka 5y

                                When you use as an argument in comparison of the techs in back-end services (that I mentinoned as context of my words few times) it is a silly nonce argument

                  2. @cheburgenashka 5y

                    Surprize! Because JIT can reorginize code segment on the fly, native boots instantly but code segments not always can fit into CPU cache while hot-swapped code can. So yes. JVM starts slowly and runs slowly for 10-20 minutes but then it speeds up and after 30 minutes surpass native with quite a margin.

                    1. @RiedleroD 5y

                      If I have to let a program run for 20 minutes to not run slow, I'd rather have the alternative, thank you.

                    2. Deleted Account 5y

                      So AOT can't reoriginize code segment?

                  3. @bit69tream 5y

                    in some cases it's like comparing rust and c everything depends on a current situation

                    1. @cheburgenashka 5y

                      Usually if you’re not gready for memory then any long term task will be beaten by JVM almost always. If memoey is the priority then JVM is not the best. Native is good when runtime is not avilble nor it’s an option to ship it and when size on disk matters the most, like IoT

                      1. @bit69tream 5y

                        not sure if it will always beat c/c++/etc in performance, but definitely in number of libs used, lines of code and classes :)

                        1. @cheburgenashka 5y

                          Tree shakers (aka. code minifiers) to the rescue!

                3. Deleted Account 5y

                  i highly doubt it even can compare to native code, forget being faster

                  1. @cheburgenashka 5y

                    Well even if Graal devs claim that JVM beats native for long term persisted tasks then I’m preety sure we’re not the guys to argue about it.

  11. @misesOnWheels 5y

    >python >speed kek

  12. @p4vook 5y

    shitposting

  13. @cheburgenashka 5y

    Not .4 but whole 4 seconds faster. And also 1GB less memory spent.

  14. @cheburgenashka 5y

    Once rewritten python microservise to Kotlin/JVM. It was order of magnitude faster AND 138MB less memory used on average.

  15. @cheburgenashka 5y

    Yep but AOT is not a win win for any case. Also, in back-end services it's better to keep JVM as the efficiency and speed is superior to a short bootstrap and smaller memory footprint. If memory footprint is so important, still, you can use tree shakers like proguard to minimize binary size and as a result shrink code segment memory.

  16. @BuikoEvgen 5y

    Mmm python bullshit meme. Nice

  17. @cheburgenashka 5y

    And yeah… I am still suck Python dicks as Kotlin is not yet sexy in my country and Python is kinda best selling job on the marked (not even C++, lol)

  18. @cheburgenashka 5y

    It’s not binary it’s a range: lower langs requiere knowladge of the hardware higher do not. Hiegher langs let you concentrate on the algo not the entire universe.

    1. @p4vook 5y

      C++ seems strange because it actually tries to be the transport between higher-level languages and lower-level. And I'd say that it is actually good for that purpose.

  19. @cheburgenashka 5y

    They already made it first class citizen for JVM (Android) and also adopting for GPC (ktor in particular)

Use J and K for navigation