Comments 4
В kotlin всё хорошо кроме одного — реализации.
Запуск компилятора происходит вечность (в 200-300 раз медленнее чем например компилятора плюсов).
Запуск компилятора происходит вечность (в 200-300 раз медленнее чем например компилятора плюсов).
kotlin
$ time kotlinc test.kt
real 0m2,032s
user 0m4,779s
sys 0m0,170s
$ time kotlinc test.kt -include-runtime
real 0m2,050s
user 0m4,703s
sys 0m0,159s
$ time kotlinc -version
info: kotlinc-jvm 1.4.20 (JRE 1.8.0_242-release-1644-b3-6222593)
real 0m1,364s
user 0m2,513s
sys 0m0,183s
$ cat test.kt
fun main() = println("wtf")
kotlin-native
$ time kotlinc-native test.kt
real 0m5,818s
user 0m7,933s
sys 0m0,522s
$ time kotlinc-native -version
info: kotlinc-native 1.4.21-344 (JRE 1.8.0_242-release-1644-b3-6222593)
Kotlin/Native: 1.4.21
real 0m0,488s
user 0m0,625s
sys 0m0,056s
для сравниния тормозной gcc
$ time gcc test.cpp
real 0m0,034s
user 0m0,026s
sys 0m0,008s
$ time gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
real 0m0,004s
user 0m0,004s
sys 0m0,000s
$ cat test.cpp
#include <stdio.h>
int main(int argc,char** argv) {
printf("gcc\n");
return 0;
}
0
Потому что JVM и чтобы каждый раз не загружать все это существуют демоны :)
Поэтому пока kotlinc запускается в консоли, gradle или idea умудряются скомпилировать и запустить проект.
0
Я про это и говорю: рализация так себе.
ps: демон котлина работает 1сек и если небыло запросов выходит. gradle — это вообще яркий пример как электронным микроскопом колоть орехи.
ps: демон котлина работает 1сек и если небыло запросов выходит. gradle — это вообще яркий пример как электронным микроскопом колоть орехи.
еще swift для сравнения
$ time swiftc test.swift
real 0m0,090s
user 0m0,049s
sys 0m0,041s
$ time swiftc --version
Swift version 5.3 (swift-5.3-RELEASE)
Target: x86_64-unknown-linux-gnu
real 0m0,016s
user 0m0,011s
sys 0m0,004s
0
gradle — это вообще яркий пример как электронным микроскопом коят орехи.
В идеальном мире – возможно, в реальной жизни хороший инструмент в котором можно и микробов рассматривать, и орехи поколоть :) Главное что при разработке он быстр, особенно в continuous режиме. И будет становится еще быстрее, компиляция самого Gradle Kotlin DSL ускорится в ветке 7
0
Sign up to leave a comment.
kotlinx.coroutines 1.4.0: представляем StateFlow и SharedFlow