1. C++ / Говнокод #27968

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    class Foo {
        std::atomic<bool> a{false};
        std::atomic<bool> b{false};
    public:
        Foo()
        {
            
        }
    
        void first(function<void()> printFirst) {
            printFirst();
            a.store(true, std::memory_order_release);
        }
    
        void second(function<void()> printSecond) {
            while (!a.load(std::memory_order_acquire))
                ;
    
            printSecond();
            b.store(true, std::memory_order_release);
        }
    
        void third(function<void()> printThird) {
            while (!b.load(std::memory_order_acquire))
                ;
    
            printThird();
        }
    };

    https://leetcode.com/problems/print-in-order/

    36 / 36 test cases passed.
    Runtime: 1697 ms
    Memory Usage: 7 MB

    Хочу, чтобы начался срач по поводу того, как достичь рантайма в 200мс

    Запостил: Nyanwitt, 24 Января 2022

    Комментарии (5) RSS

    • > как достичь рантайма в 200мс
      Для начала переписать код на «PHP».

      В «PHP» нет никаких std::
      В «PHP» нет никаких memory_order_acquire
      В «PHP» нет никаких function<void()>
      Ответить
    • «PHP» — это язык где белые люди быстро и легко решают практические задачи.

      https://ideone.com/awGBY9
      Success #stdin #stdout 0.02s

      Умение героически преодолевать трудности, которые создает твой собственный инструмент, вместо того, чтобы решать непосредственно прикладную задачу, в современном мире ценится разве что только среди прыщавых сосок.
      Ответить
      • https://ideone.com/hELhBv
        Success #stdin #stdout 0.01s 5336KB

        C++ на 0.01s быстрее PHP. Стоит ли такой прирост производительности изучения тыщачетырёхсотстраничного стандарта -- решать вам
        Ответить
        • Пять мегабайт скомпилированного бинаря в сравнении с текстовым файлом меньше килобайта даже без компрессии. Не язык, а недоразумение.
          Ответить
          • можно в 218 байт бинарь уложить на ассемблере. даже под досом запустится
            Ответить

    Добавить комментарий