Ruby 为什么 Ruby 的体积是最小的

sevk · 2021年04月19日 · 最后由 Jacen 回复于 2021年06月24日 · 1200 次阅读
  ~ pu ruby
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
警告ruby-3.0.1-1 已经为最新 -- 重新安装
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1) ruby-3.0.1-1

全部安装大小  13.41 MiB
净更新大小   0.00 MiB

:: 进行安装吗 [Y/n] 







  ~ pu python
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
警告python-3.9.3-1 已经为最新 -- 重新安装
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1) python-3.9.3-1

全部安装大小  79.29 MiB
净更新大小   0.00 MiB

:: 进行安装吗 [Y/n] 







  ~ pu perl
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
警告perl-5.32.1-1 已经为最新 -- 重新安装
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1) perl-5.32.1-1

全部安装大小  57.63 MiB
净更新大小   0.00 MiB

:: 进行安装吗 [Y/n] 











  ~ pu go
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
警告go-2:1.16.3-1 已经为最新 -- 重新安装
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1) go-2:1.16.3-1

全部安装大小  597.59 MiB
净更新大小    0.00 MiB

:: 进行安装吗 [Y/n] 






  ~ pu nodejs
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
警告nodejs-15.14.0-2 已经为最新 -- 重新安装
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1) nodejs-15.14.0-2

全部安装大小  29.76 MiB
净更新大小   0.00 MiB

:: 进行安装吗 [Y/n] 








  ~ pu php   
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
警告php-8.0.3-2 已经为最新 -- 重新安装
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1) php-8.0.3-2

全部安装大小  24.09 MiB
净更新大小   0.00 MiB

:: 进行安装吗 [Y/n] 








  ~ pu crystal
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
警告crystal-1.0.0-3 已经为最新 -- 重新安装
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (1) crystal-1.0.0-3

全部安装大小  109.82 MiB
净更新大小    0.00 MiB

:: 进行安装吗 [Y/n] 








  ~ pu jre-openjdk
:: 正在同步软件包数据库...
 core 已经是最新版本
 extra 已经是最新版本
 community 已经是最新版本
 multilib 已经是最新版本
:: 正在进行全面系统更新...
正在解析依赖关系...
正在查找软件包冲突...

软件包 (2) jre-openjdk-headless-15.0.2.u7-1  jre-openjdk-15.0.2.u7-1

下载大小   42.97 MiB
全部安装大小  183.83 MiB

:: 进行安装吗 [Y/n] 






简洁、优雅

vlang 只有 400k 这个才是最小的

打包方式不一样吧,ruby 好些把标准库都变成 gem 了。。。

https://archlinux.org/packages/extra/x86_64/python/

python 大量预编译的字节码 __pycache__

aardio,6.5MB,绿色免安装并且自带编辑器

ywjno 回复

这个东西由意思

jicheng1014 回复
➜  ~ type pu
pu is an alias for nice sudo pacman -Syu

Ruby 不带 Devkit 的下载包确实很小,vlang 在 windows 上下载实际是 8.4MB,只有命令行编译器不带开发环境 , 而且 vlang 是翻译成其他语言,又在 Github 上放了一堆按需下载的模块。

aardio 体积 6.5MB,实际上已经包含了完整的开发环境、完整的标准库、文档、全部范例源码,虽然 aardio 也有扩展库,但 aardio 开发一般用不到扩展库。aardio 之所以小是因为专注于 Windows 平台桌面开发(当然桌面系统非 Windows 的市场份额基本可以忽略),所以可以利用和发挥 Windows 系统本身的优势,例如在 aardio 里调用系统自带的 WebView, WebView2,可以用上最新的 Edge(Chromium)内核,但生成的 EXE 文件体积却非常小,调用接口也比 Electron 这些简洁得多。

aardio 可以嵌入十余种第三方编程语言,例如上面提到的 V,Ruby,PHP,Python,Node.js,Go 在 aardio 里都有对应的扩展库。下面是 aardio 嵌入 Ruby 代码演示(用这个方法 Ruby 也可以方便地开发桌面软件了)

import win.ui;
/*DSG{{*/
var winform = win.form(text="执行Ruby代码";right=759;bottom=469)
winform.add(
edit={cls="edit";left=26;top=16;right=737;bottom=435;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;z=1}
)
/*}}*/

import process.ruby;
var out = process.ruby.exec("puts '测试UTF-8'")
winform.edit.print(out);

var out = process.ruby.eval(`[1, 2, { name: "tanaka", age: 19 }]`)
winform.edit.print(out);

winform.show();
win.loopMessage();

需要 登录 后方可回复, 如果你还没有账号请 注册新账号