1. Куча / Говнокод #27570

    +1

    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
    C	5.2s 	gcc test.c
    C++	1m 25s 	g++ test.cpp
    Zig	10.1s 	zig build-exe test.zig
    Nim	45s 	nim c test.nim
    Rust	Stopped after 30 minutes	rustc test.rs
    Swift	Stopped after 30 minutes 	swiftc test.swift
    D	Segfault after 6 minutes 	dmd test.d
    
    Rust and Swift took too long to compile 400k lines, so I tried smaller numbers: 
    
    # lines	Rust	Swift 	D
    2k	3.4s 	0.8s
    4k	9.0s 	1.0s
    8k	30.8s 	2.3s
    20k	3m 52s 	11.8s 	4.7s
    100k	- 	5m 57s 	segfault

    https://vlang.io/compilation_speed

    Запостил: 3.14159265, 15 Августа 2021

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

    • Анскильные языки умудрились позорно слить даже крестам.
      При том что С++ славится тормознутостью конпелятора понимаю что львиную долю вносят хедеры и крестошаблоны

      Короче бамп отсосу дruстoблядей.
      Ответить
      • Чем больше проверяется всяково говна тем медленее компилируется же

        Наприме Коко и Скала уделают в худшую сторону по времени компиляции джаву
        Ответить
        • Ну крестам-то слить... А что там проверять? Тупо копипаст из printов.

          > Коко и Скала уделают в худшую сторону по времени компиляции джаву

          Это известно. И по ощущениям они сливают даже крестам. Скала уж точно.
          При том жвм-питушня изначально заточена на скорость.
          Она ничего не "компилирует" в привычном смысле и не линкует, а выдристывает жвм-байт-код.

          Плюс у Йажи и Gовняшкой по сравнению с Сишкой/Крестами нехилый бонус, поскольку вместо include там ворованная у Вирта система импортов из Мудулы.
          Ответить
      • отлично компенсируется меньшим временем разработки
        Ответить
        • Так хуже всего: у Rustа сложность выглядит квардратичной, у Swift до 20к больше смахивает на O(N).

          Похоже эти анскилябры единственные кто умудрился написать O(N²) компилятор.
          Ответить
    • как там слово "swift" переводится?
      Ответить
      • Я знаю, как «Ziege» переводится с немецкого. А что такое «Zig», не знаю.
        Ответить
      • стриж

        Кстати, кто знает чем ласточка от стрижа отличаетс?
        Ответить
        • Общество всемирных межбанковских финансовых телекоммуникаций
          Ответить
        • Чуть ли не всем.

          Стриж бочкообразный. У него довольно неуклюжее телосложение.
          Ответить
          • орлы?
            и кто тут кто https://12obezyan.ru/upload/iblock/aae/strizhi_lastochki.jpg ?
            Ответить
            • В полёте и вправду похожи...

              Стриж справа.
              Ответить
              • Ну вообще они оба насекомоядные птицы, которые едят в полёте, и потому конфигурации их очень похожи
                Ответить
                • И оба не умеют взлетать с земли. Если ласточка или стриж сели на землю, в большинстве случаев они превращаются в добычу кошки.
                  Ответить
                  • Если они сели на землю, то скорее всего у них повреждено крыло, и жить они уже не смогут, потому что не смогут питаться. Такую птицу можно держать дома в коробке (вроде бы их кормят варёным яичным желтком), но на воле она жить не сможет.

                    А вот кстати сороки и вороны вполне живут с поврежденным крылом, и даже умеют прыгая забираться на невысокие деревья
                    Ответить
                    • > кормят варёным яичным желтком
                      какой конь-ебализм )))
                      Ответить
                      • Курицу все птицы едят: и чайки, и вороны
                        Ответить
                        • Я видел, как куры едят случайно разбившееся яйцо.

                          И курятину все птицы едят, даже нехищные. Поедение готового мяса, убитого кем-то другим, у птиц каннибализмом почему-то не считается.
                          Ответить
                          • Какая-то птица (чуть ли не попугай) может съесть собственное дитя, если оно слабое.

                            А что с ним делать? Кормить его бесполезно: всё равно погибнет.
                            Выкинуть на помойку столько мяса, когда каждая калория на счету?
                            Ну уж нет
                            Ответить
            • > ru66oH4uk
              > COPOKA
              > 12obezyan.ru
              > strizhi_lastochki.jpg

              У нас зоопарк получается.
              Ответить
      • Дзенский Мастер Питушняков, 1998, гл. 1). Свифту очень нравится, что это имя и фамилия имеют такой таинственный, таинственный смысл.
        Ответить
    • я тоже сделал тест ... это позор :)

      PS C:\temp> Measure-Command { .\compile_time.bat }
      
      
      Days              : 0
      Hours             : 0
      Minutes           : 5
      Seconds           : 14
      Milliseconds      : 869
      Ticks             : 3148691624
      TotalDays         : 0.00364431900925926
      TotalHours        : 0.0874636562222222
      TotalMinutes      : 5.24781937333333
      TotalSeconds      : 314.8691624
      TotalMilliseconds : 314869.1624
      
      
      
      PS C:\temp>
      Ответить
      • 400k строк?
        Ответить
      • в оправдание хочу сказать, что CPU был 9% всегда. где-то затор идет на IO наверно...
        Ответить
        • Либо ты не смог более одного ядра задействовать)

          Узнать что во что упиралось можно перформанс монитором
          https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc749249(v=ws.11)

          а можно свой ETW провайдер пильнуть
          Ответить
    • А студия от больших константных массивов почему-то дико тормозит и/или крашится...
      Ответить
      • Хочет чтобы ты их бинарным файлом в .rc хранил
        Ответить
      • И ещё выдаёт предупреждение, что слишком много объектов на стеке выделено.
        Ответить
        • У меня однажды была ошибка, что слишком много вложенных if'ов (128 что ли).
          Ответить
          • Это хуйня из говноMSVC не только к if относится
            https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1061?view=msvc-160
            Ответить
            • Короче виндуозы опять соснули. Даже их собственный компилятор их унижает, лол)
              Ответить
            • Всё правильно. Если в коде больше 128 вложенных блоков, то, скорее всего, код выглядит, как говно.
              Ответить
              • А не похуй ли? Это был сгенерённый код. Да, не особо оптимальный, но это мои проблемы уже, а не конпелятора.

                Так можно и до го скатиться, где ворнинги неотключаемы.
                Ответить
                • А вообще согласен, что странно в компиляторе, поддерживающем крестошаблоны с кучей уровней, особенно в 64-битной версии, которая обычно работает на машинах с большим объёмом ОЗУ, сохранять лимиты на вложенность блоков, как в компиляторах 80-х годов.
                  Ответить
        • не успел поступить в вуз, а уже какой умный!
          Ответить
    • А вот и голос из под шконки раздался. Ты такая же обслуга как уборщик. И цена тебе пяток за пучок в базарный день. 99% произведенного тобой и остальными айтишниками навоз. Который лучше бы не повлялся на свет.
      Так что брысь обратно под шконку и не отсвечивай.
      Ответить
    • Старый анализ в тему:
      https://imgur.com/a/jQUav
      Ответить

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