#工具 #高效 #性能 #内存 #用户 #源码 #minimap

程序+库 code-minimap

高性能代码最小化图生成器

20 个版本

0.6.7 2024年3月4日
0.6.4 2022年1月1日
0.6.1 2021年7月21日
0.5.1 2021年3月14日
0.4.3 2020年11月11日

#360命令行工具

Download history 100/week @ 2024-03-11 85/week @ 2024-03-18 51/week @ 2024-03-25 70/week @ 2024-04-01 81/week @ 2024-04-08 52/week @ 2024-04-15 69/week @ 2024-04-22 36/week @ 2024-04-29 39/week @ 2024-05-06 42/week @ 2024-05-13 53/week @ 2024-05-20 47/week @ 2024-05-27 76/week @ 2024-06-03 39/week @ 2024-06-10 37/week @ 2024-06-17 52/week @ 2024-06-24

每月下载 207 次

Apache-2.0 OR MIT

21KB
242

🛰 code-minimap

高性能代码最小化图渲染器。

CICD License Version Platform

此工具用于以 🚀 速度生成文本最小化图。您可以使用它为终端文本编辑器实现类似 IDE 的最小化图插件,例如 minimap.vim

功能

使用方法

$ code-minimap src/core.rs -H 0.6 -V 0.5
⣿⣿⣿⣿⣿⠿⠛⠓⠒⠒⠂
⣉⣿⣿⣿⣟⣛⣛⣛⠒⠒⠂
⠀⠉⣿⣿⣿⣿⠭⠭⠭⠭⠤⠤⠤⠤⠤
⠀⠉⠛⠻⢿⣿⣿⣿⣿⣶⣶⣶⣒⣒⣒⣒⣒⣒⣀⣀⣀⣀⣀⣀⣀⣀⣀⡀
⠀⣀⣶⣾⣿⣿⣿⣿⣭⣭⣭⣤⣤⣤⣤⣤⠤⠤⠤⠤⠤
⣿⣿⣿⣶⡒⠒⠒⠒
⣿⣿⣶⣶⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣄
⣭⣭⣭⣭⠭⠭⠭⠭⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉
⣿⣿⣿⣿⣧⣤⣤⣤⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⡀
⣛⣿⣿⣿⣟⣛⣒⣒⠂
⣀⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣋⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⡀
⠀⣤⣭⣽⣿⣷⣶⣶⣶⠶⠶⠶⠶⠶⠶⠶⠶⠶⠶⠶⠶⠒⠒⠒⠒⠒
⠀⠶⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠛⠓⠒⠒⠒⠒⠒
⣉⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⡛⠛⠛⠛⠛
⠒⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⡄
⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇
⠄⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠃

运行 code-minimap --help 查看详细使用方法。

安装

在 Linux 上

Arch Linux

code-minimap 可在 Arch 用户仓库中找到。要从 AUR 安装它

yay -S code-minimap
Gentoo

code-minimap 可在 GURU 项目仓库中找到

emerge --ask code-minimap

在 macOS 上

您可以使用 Homebrew 安装 code-minimap

brew install code-minimap

或使用 MacPorts

sudo port install code-minimap

在 Windows 上

您可以使用 scoop 安装 code-minimap

scoop bucket add extras
scoop install code-minimap

从二进制文件

各种架构的 code-minimap 预构建版本可在 GitHub 发布页面 获取。

注意,如果您遇到依赖项相关的错误,可以尝试运行 musl 版本(它是静态链接的)。

从源代码

code-minimap 还发布在 crates.io 上。如果您已安装最新版本的 Rust 工具链,您可以使用 cargo 从源代码安装它

cargo install --locked code-minimap

如果您想使用最新版本,请克隆此仓库并运行 cargo build --release

基准测试

$ hyperfine -w 10 'code-minimap src/core.rs'
Benchmark #1: code-minimap src/core.rs
  Time (mean ± σ):       0.2 ms ±   0.1 ms    [User: 0.4 ms, System: 0.3 ms]
  Range (min … max):     0.2 ms …   1.1 ms    1560 runs

79 行,4K 大小,0.2ms


$ fd -t f -e rs -x cat "{}" >> /tmp/all-in-one.rs
$ hyperfine -w 10 'code-minimap /tmp/all-in-one.rs'
Benchmark #1: code-minimap /tmp/all-in-one.rs
  Time (mean ± σ):     322.7 ms ±   4.5 ms    [User: 298.7 ms, System: 23.8 ms]
  Range (min … max):   318.5 ms … 334.1 ms    10 runs

1,153,225 行,37M 大小,323ms


$ base64 /dev/urandom | head -10000000 > huge.txt
$ hyperfine -w 1 'code-minimap huge.txt'
Benchmark #1: code-minimap huge.txt
  Time (mean ± σ):      2.941 s ±  0.034 s    [User: 2.618 s, System: 0.321 s]
  Range (min … max):    2.919 s …  3.028 s    10 runs

10000000 行,735M 大小,2.9秒


测试环境

Binary version: 0.3.0
OS: Arch Linux x86_64
Kernel: 5.8.10-arch1-1
CPU: Intel i9-9900K (16) @ 5.000GHz

minimap.vim:为 vim 的高速缩略图。

许可证

code-minimap 根据 MIT 许可证和 Apache 许可证 2.0 的条款进行分发。

请参阅 LICENSE-APACHELICENSE-MIT 文件以获取许可证详细信息。

依赖关系

~0.5–9MB
~90K SLoC