Wie lang kompiliert (und linkt) ihr?



  • Bei mir dauert es ca 2 Min bei ca 10.000 Zeilen.
    Habe einen AMD mit 3.200 Mhz.
    Mache aber auch heftigen gebrauch von Templates, auch wenn sie nicht immer nötig sind.
    Ist ein kleines Hobbyproject von mir.



  • Geschätzte 17 1/2 Stunden. Is nen kleines Hobby Projektchen von mir für zwischendurch...auf der Arbeit dauerts schon mal 2 1/2 Tage, aber da setzen wir auch ein 45 PC Cluster zum Kompilieren ein, damit es schneller geht.



  • Naja, was ist ein Projekt? Das länste was ich mit einem einzelnen .vcproj File hatte war vielleicht 20 Min. oder so für eine Configuration (z.B. Final Release).

    Das am längsten bauende Projekt im Sinn von "alles was wir für Software Projekt XYZ brauchen" liegt bei etwa einem Arbeitstag (=~~8 Stunden, auch nur Final Release). Das sind allerdings ein paar Hundert EXEn und DLLs die da insgesamt gebaut werden.

    Gebaut wird das im Moment auf einem Core 2 Xeon mit 2x 2,16 GHz.



  • 110 Sekunden für 720000 LOC auf Intel Dualcore 2,66 GHz mit 3GB RAM.
    Ein voller Rebuild ist dank continous build allerdings selten nötig. Linken überhaupt nicht 🤡



  • 187543 loc --> 35 sekunden, einschliesslich linken
    pc ist ein amd athlon 64 X2 4200+, sagt zumindest das windows computerverwaltungs-applet
    🙂



  • ca. 120000loc ca. 6 tage 13 std.

    80286 1MB ram... solangsam sollte ich nen neuen PC beantragen.



  • Ca. 15-20 Minuten für C/C++-Source, und dann nochmal 20 Minuten für LabView-Source... das sind gleich mehrere Kaffepausen...



  • 2-3 minuten fürs deployment von ca. 2 mio. zeilen java 😃



  • Als Java-Entwickler ist dieser Thread irgendwie strange. 🤡



  • Was ist das denn für ein Fred ?
    Kommt doch wohl auf ziemlich viele Faktoren drauf an.
    Größe des Projektes, OS, Compiler/Linker, verwendete Hardware.
    Daher ist hier jede Antwort auf Dauer des Compile Vorgangs und Größe des Projektes als relativ wertlos einzustufen.



  • flk schrieb:

    Was ist das denn für ein Fred ?
    Kommt doch wohl auf ziemlich viele Faktoren drauf an.
    Größe des Projektes, OS, Compiler/Linker, verwendete Hardware.
    Daher ist hier jede Antwort auf Dauer des Compile Vorgangs und Größe des Projektes als relativ wertlos einzustufen.

    Deswegen hab ich ja die Ursprungsfrage des Threadstarters mit dem Wunsch nach zusätzlichen Daten innerhalb der Antworten modifiziert 😉



  • byto schrieb:

    Als Java-Entwickler ist dieser Thread irgendwie strange. 🤡

    Wieso denn? Java-Programme müßen auch compiliert werden, Nur muß man fast nie einen kompletten Rebuild des gesamten Projekts machen.



  • Andromeda schrieb:

    byto schrieb:

    Als Java-Entwickler ist dieser Thread irgendwie strange. 🤡

    Wieso denn? Java-Programme müßen auch compiliert werden, Nur muß man fast nie einen kompletten Rebuild des gesamten Projekts machen.

    Und wenn, dann dauert der Rebuild bloss deswegen solange weil Java Programmierer immer gleich 10x soviel LOCs schreiben wie notwendig wären.

    Und auch dann ist "lange" meist nicht in Stunden zu rechnen sondern (wenn überhaput) in Minuten.



  • hustbaer schrieb:

    Und wenn, dann dauert der Rebuild bloss deswegen solange weil Java Programmierer immer gleich 10x soviel LOCs schreiben wie notwendig wären.

    Besser gut dokumentierter, wartbarer Code, der 10x so lang ist, als irgendwelche kongenialen und komplizierten Wegwerf-Einzeiler. 🤡



  • Andromeda schrieb:

    byto schrieb:

    Als Java-Entwickler ist dieser Thread irgendwie strange. 🤡

    Wieso denn? Java-Programme müßen auch compiliert werden, Nur muß man fast nie einen kompletten Rebuild des gesamten Projekts machen.

    Bei mir kompilieren 10.000 Zeilen Javacode (als komplettes Rebuild) in ungefähr einer Sekunde. Und das sollte ungefähr linear mit der Anzahl der Zeilen skalieren. Deshalb ist der Thread hier für Javaprogrammierer "strange". Der Thread adressiert ein Problem, das bei Java überhaupt nicht existiert.


  • Administrator

    byto schrieb:

    Besser gut dokumentierter, wartbarer Code, der 10x so lang ist, als irgendwelche kongenialen und komplizierten Wegwerf-Einzeiler. 🤡

    Redest du gerade davon, dass Java gut dokumentierbar und wartbarer Code hat? Ich wechsle jedes grössere Projekt nach C++, weil ich dort bessere Dokumentation und Wartung habe. Schon nur die Deklaration <-> Definition Trennung von C++ ist viel angenehmer zum warten. In Java ist immer alles am Stück, ganz ganz hässlich, meiner Meinung nach.
    Aber egal, darum geht es hier ja nicht. Falls ein Diskussionsbedarf und Flamewarbedarf besteht, neuen Thread eröffnen :p

    Meine Programme sind immer irgendwo im Bereich von ein paar 10'000 LOC, daher habe ich nicht so lange Compilezeiten. Ausser wenn ich massiver Templateeinsatz habe, was mit der Verwendung von Boost vermehrt vorkommt. Da steigen die Zeiten manchmal auch bei so wenig Code auf ein zwei Minuten.

    Grüssli



  • mh, also ein komplettes rebuild des java projekts an dem ich gerade beruflich arbeite dauert durchaus so 5-10 minuten. (auf einem t30...)



  • Gregor@Uni schrieb:

    Bei mir kompilieren 10.000 Zeilen Javacode (als komplettes Rebuild) in ungefähr einer Sekunde. Und das sollte ungefähr linear mit der Anzahl der Zeilen skalieren. Deshalb ist der Thread hier für Javaprogrammierer "strange". Der Thread adressiert ein Problem, das bei Java überhaupt nicht existiert.

    Was macht ein Javacompiler denn? Syntaxcheck und jede Klasse in Bytecode in ne Datei schreiben? Und Bytecode ist doch nur ne andere Codierung für Sourcecode - man bekommt den Source auf jedenfall mal wieder 1:1 aus dem Bytecode mit nem Decompiler.
    Und brauchen deswegen Javaporgramme immer so lang zum starten, weil sie just in time kompiliert werden? Also das kompilieren das bei C++ schon viel früher gemacht wird.
    Wenn man diese Just in time Compilezeit auch noch dazu rechnet, dann braucht Kompilieren in Java auch länger.

    borg schrieb:

    mh, also ein komplettes rebuild des java projekts an dem ich gerade beruflich arbeite dauert durchaus so 5-10 minuten. (auf einem t30...)

    Generierst du da auch Code (MDA) oder nur kompilieren?



  • Dravere schrieb:

    Ich wechsle jedes grössere Projekt nach C++, weil ich dort bessere Dokumentation und Wartung habe.

    Wie groß sind die Projekte dann, dass sich der Aufwand der Portierung für Dich lohnt?

    Meine Programme sind immer irgendwo im Bereich von ein paar 10'000 LOC, daher habe ich nicht so lange Compilezeiten.

    Aha, winzig. 🤡



  • Dravere schrieb:

    Redest du gerade davon, dass Java gut dokumentierbar und wartbarer Code hat? Ich wechsle jedes grössere Projekt nach C++, weil ich dort bessere Dokumentation und Wartung habe. Schon nur die Deklaration <-> Definition Trennung von C++ ist viel angenehmer zum warten. In Java ist immer alles am Stück, ganz ganz hässlich, meiner Meinung nach.

    Meine Programme sind immer irgendwo im Bereich von ein paar 10'000 LOC, daher habe ich nicht so lange Compilezeiten.

    😃

    Was ist der Vorteil immer Deklaration und Definition ändern zu müssen, statt nur eines?


Anmelden zum Antworten