The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.49, opennews (??), 02-Янв-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


105. "Выпуск языка программирования Rust 1.49"  +1 +/
Сообщение от Аноним (105), 02-Янв-21, 22:48 
>Сколько на Расте весит hello world? 3 или 5 Мегабайт?

3.2M, если тебя это утешит. Eсть множество флагов, как эти 3.2M сделать до 100k, от банального cargo build --release и strip (около 250k), до cargo rustc --release -- -C prefer-dynamic — 17k.

Вопрос где мои 3 и 5 Мегабайт в hello world? Понимаю, жать на одну зелёную кнопку в IDE удобнее, чем разобраться во флагах компилятора, но может лучше смотреть в документацию языка, чем вот так штаны себе портить?

https://doc.rust-lang.org/rustc/codegen-options/index.html
https://github.com/johnthagen/min-sized-rust

user@user:~/dev$ cargo new hello_w
     Created binary (application) `hello_w` package
user@user:~/dev$ cd hello_w/
user@user:~/dev/hello_w$ cargo build
   Compiling hello_w v0.1.0 (/home/user/dev/hello_w)
    Finished dev [unoptimized + debuginfo] target(s) in 0.38s
user@user:~/dev/hello_w$ cargo rustc --release -- -C prefer-dynamic
   Compiling hello_w v0.1.0 (/home/user/dev/hello_w)
    Finished release [optimized] target(s) in 0.14s
user@user:~/dev/hello_w$ strip target/debug/hello_w
user@user:~/dev/hello_w$ exa -lhT --level=3
Permissions Size User  Date Modified Name
drwxrwxr-x     - user  2 янв 22:36  .
.rw-rw-r--   138 user  2 янв 22:36  ├── Cargo.lock
.rw-rw-r--   196 user  2 янв 22:35  ├── Cargo.toml
drwxrwxr-x     - user  2 янв 22:35  ├── src
.rw-rw-r--    45 user  2 янв 22:35  │  └── main.rs
drwxrwxr-x     - user  2 янв 22:36  └── target
.rw-rw-r--   177 user  2 янв 22:36     ├── CACHEDIR.TAG
drwxrwxr-x     - user  2 янв 22:36     ├── debug
drwxrwxr-x     - user  2 янв 22:36     │  ├── build
drwxrwxr-x     - user  2 янв 22:36     │  ├── deps
drwxrwxr-x     - user  2 янв 22:36     │  ├── examples
.rwxrwxr-x  285k user  2 янв 22:36     │  ├── hello_w
.rw-rw-r--    82 user  2 янв 22:36     │  ├── hello_w.d
drwxrwxr-x     - user  2 янв 22:36     │  └── incremental
drwxrwxr-x     - user  2 янв 22:36     └── release
drwxrwxr-x     - user  2 янв 22:36        ├── build
drwxrwxr-x     - user  2 янв 22:36        ├── deps
drwxrwxr-x     - user  2 янв 22:36        ├── examples
.rwxrwxr-x   17k user  2 янв 22:36        ├── hello_w
.rw-rw-r--    84 user  2 янв 22:36        ├── hello_w.d
drwxrwxr-x     - user  2 янв 22:36        └── incremental

На другие пункты даже нет смысла отвечать, они такой же мусор, как и первый вопрос.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

128. "Выпуск языка программирования Rust 1.49"  –1 +/
Сообщение от Аноним (125), 03-Янв-21, 08:31 
А четвертый пункт, тоже мусор? Кто-нибудь ответит почему у компилятора Раст в зависимостях LLVM?

Например,  GCC есть в зависимостях binutils... , но это понятно, он содержит низкоуровневые вещи, типа GNU ассемблера.

Вопрос оформлен чуть ниже.

Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск языка программирования Rust 1.49"  +2 +/
Сообщение от red75prim (?), 03-Янв-21, 09:04 
> Кто-нибудь ответит почему у компилятора Раст в зависимостях LLVM?

По той же причине что и для flang (компилятор FORTRANа) и для gnat llvm (компилятор Ada) - бэкенд для генерации оптимизированного машинного кода под разные архитектуры.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру