V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wxf666  ›  全部回复第 12 页 / 共 34 页
回复总数  665
1 ... 8  9  10  11  12  13  14  15  16  17 ... 34  
2023-07-10 13:43:21 +08:00
回复了 arielcc 创建的主题 云计算 夸克网盘个死不要脸的狂写硬盘
@yukinomiu #3 楼主是心疼新硬盘被不合理地乱干,虚拟机防不了这个吧?
2023-07-10 13:37:16 +08:00
回复了 arielcc 创建的主题 云计算 夸克网盘个死不要脸的狂写硬盘
也有可能只是软件设计得垃圾。我以前用 天翼云盘 和 微力同步 时碰到过。


1. 天翼云盘,在下载一个 4GB 的文件时,保存目录在 D: 盘,但 C: 盘也有 40 GB / hour ( 12 MB/s ) 的速度写入。

用 sandboxie 跟踪文件操作日志,并分析数据,发现有 170W 次文件操作:

- 4GB 的文件被分了 18W 份进行下载,每一份先下载到 C: 的临时目录
- 反反复复开事务写一个 52 KB 的数据库 66W 次(导致反复创建删除 xxx.db-journal ,估计触发了很多 NTFS 的东西)
- 读写配置文件 47W 次(看不懂。。)
- 写目标文件 1500 次
- 还有个 35W 次的,对程序目录的操作,我看不懂。。

分析命令:

```shell
$ awk -F$'\t' -v OFS=$'\t' '$5 ~ /^File/{arr[$7]++} END{for (k in arr) if (arr[k] > 1) print arr[k], k}' sandboxie.log | sort -rn
666140 \Device\HarddiskVolume3\Users\wuxun\AppData\Roaming\ecloud\transManNew_###########@189.cn.db-journal
470862 \Device\HarddiskVolume3\Users\wuxun\AppData\Roaming\ecloud\setting.xml
353936 \Device\HarddiskVolume3\Program Files (x86)\ecloud
1544 \Device\HarddiskVolume9\??????\????????\????????.part11.rar
23 \Device\HarddiskVolume3\Program Files (x86)\ecloud\Config\ecloud\transfercfg.xml
22 \Device\HarddiskVolume3\Program Files (x86)\ecloud\eCloud.exe
18 \Device\HarddiskVolume3\WINDOWS\System32\drivers\etc\hosts
11 \Device\HarddiskVolume3\Users\wuxun\AppData\Roaming\ecloud\setting.xml.tmp
11 \Device\HarddiskVolume3\Users\wuxun\AppData\Roaming\ecloud
6 \Device\HarddiskVolume3\Users\wuxun\AppData\Roaming\ecloud\LogFileTransfer_###########@189.cn.db-journal
4 \Device\HarddiskVolume3\Users\wuxun\AppData\Roaming\ecloud\userinfo.xml
2 \Device\HarddiskVolume9\??????\????????\????????.part11.rar.ecdl
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_ZNx3dAAodr46ERcahHyp
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_z84dXqNPNdgIWChWt1PM
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_Z2RJUJnPusih593Oxc9F
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_ylQaBzpTKmd9O7nXb447
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_XaAabe9g3PxVgRtbBPff
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_X2XEpRBBSfbNoRlXyCSa
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_VW5XBHbCfAMSHQboxLR0
2 \Device\HarddiskVolume3\Users\wuxun\AppData\Local\Temp\etilqs_uSrTPYjHvBhmRWHVahW7
……
```

当时 sandboxie 跟踪文件日志截图:

https://i.imgur.com/Wk219hM.png



2. 微力同步,在获取 zlibrary_cn 大概 36W 个文件的列表信息时,就要读写几百 GB 了(还没咋开始下载真正的文件内容呢)。

跟踪了下,发现只是在构建它的索引数据库 index-v0.14.0.db 。。(不知这数据库咋设计的,36W 个文件信息,就要存 15GB 。。)

当时正从其他 30 人获取文件列表信息:

https://i.imgur.com/XIVxdh3.png

任务管理器发现,这货库库读写 C: 盘:

https://i.imgur.com/Mq5nUGC.png
2023-07-09 23:57:48 +08:00
回复了 richangfan 创建的主题 Linux Chrome 和 VSCode,每个进程能占用 1T 虚拟内存,有图有真相
@yanqiyu #8 系统要多少内存才能维护 1T 虚拟内存来着?好像是操作系统的页表那块内容吧?忘完了。。
2023-07-09 18:20:41 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@hez2010 #86 其实也没太大所谓了。


首先,这几个编辑器里,确实也就 你的 和 vscode 好看些。赏心悦目嘛,自然要付出些代价。

而且,以后内存越来越便宜,多占点少占点也差不太多。

主要是我现在的笔电,内存是焊死的,加不了内存,我才比较在意。以后换电脑后,也就无关紧要了。

另外,这个也是未来的趋势,连微软都用 WebView2 来写一堆自带应用了。。


你的再加点点功能,当个日用编辑器也挺好的:

- 启动比 vscode 快
- 比其他编辑器好看
- 几十万行文本处理也不慢(至少比 Notepad++ 卡七八秒快),占用内存也可接受(几百 MB )

总之,技术也挺厉害的了,写的 demo 差不多也算是成品了 https://i.imgur.com/lG44yUl.png
2023-07-09 17:31:03 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@hez2010 #83 没有吧。。

vscode 右边的缩略图全部都染色了(刚打开文件,要等几秒钟才染色。之后随便疯狂拖滚动条都没事了)。

Notepad++ 的话,第一次滚动到文件末尾,确实卡了七八秒。但之后就能随便疯狂拖滚动条了。

Notepad--、Notepad Next 、QtCreator ,随便疯狂拖滚动条也没事,甚至还有层次折叠。

如果每次都只处理显示出来的代码,那怎么知道是不是在 /* */ 注释里呢?甚至还知道在哪个层次里,该层次有没有被折叠。。



另外,我发现 Notepad-- 甚至会解析 #ifdef 之类的宏块,未定义的块甚至会暗淡。。

如果在开头写个 #ifdef abcdefg ,结尾写个 #else /* else */ #endif ,那么就只有这四行深色,其他 25W 行都是浅色。。



好吧,所有应用都缓慢拖动滚动条,从顶至底,又回到顶部,反复十次。

尽量确保每一处代码都分析完毕并渲染过后,再测量内存:

| 应用 | 内存(最大化,反复缓慢拖动滚动条至两端十次,再静置至稳定) |
| :-----------------: | :--------------------------------------------------------: |
| Visual Studio Code | 510 MB |
| EditorDemo-Angle | 800 MB |
| EditorDemo-Software | 720 MB |
| Notepad++ | 30 MB |
| Notepad-- | 40 MB |
| Notepad Next | 50 MB |
| QtCreator | 440 MB |

不知为啥,你的内存占用还膨胀了。。

按理说,已经预先缓存所有高亮代码了,后面应该不会再涨内存了?(就像其他 5 个应用一样)
2023-07-09 16:35:51 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@documentzhangx66 #82 那么,那些号称体积小、占用内存小、性能接近原生的框架,发展方向错了?

比如,一个文本编辑器,应该大力宣传:

- 安装包 1GB+,但功能全面
- 内存占用 10GB+,但功能全面
- 运行较慢,但功能全面




另外,以后都 GPT 自动生成代码了,程序员的时间不值钱了

隔壁不是有个说,1 元钱,能自动生成全套包含产品文档、架构设计、代码的完整 repo 了么
2023-07-09 14:38:53 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@hez2010 #64 试了下:

| 应用 | 内存占用(启动后,最大化窗口为 1080P ,静置至稳定) | 内存占用(打开 sqlite3.c ,8MB ,25W 行,静置至稳定) |
| :-----------------: | :-----------------------------------------------: | :-------------------------------------------------: |
| Typora | 130 MB | |
| Clash For Windows | 110 MB | |
| Visual Studio Code | 250 MB | 450 MB |
| EditorDemo-Angle | 70 MB | 500 MB |
| EditorDemo-Software | 50 MB | 460 MB |
| Notepad--( QT5 ) | 15 MB | 35 MB |
| Notepad Next ( QT6 ) | 20 MB | 40 MB |
| QtCreator ( QT6 ) | 70 MB | 420 MB |

感觉内存占用差不多和 Electron 应用看齐。

论高效省资源,应该还得是 QT 应用。
2023-07-08 20:50:22 +08:00
回复了 buf1024 创建的主题 分享创造 Flutter 编写的收音机桌面+手机端
@buf1024 #3 我碰到的情况是这样的,你看看可能是啥问题:

https://i.imgur.com/nIeTQCL.png
2023-07-08 20:48:15 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@DTCPSS #52 感谢指路。

体验了几个应用,感觉就像是 Win11 风格的应用。

另外,体积、内存、CPU 等资源消耗都变大了。比如(内存占用是刚开启的起步占用):

- 一个丑丑的播放器,体积 40MB ,内存占用 100MB+。

- 一个搜索软件,体积 160MB ,内存占用 200MB+。(应该没索引文件,因为搜索不到)

- 一个歌词软件,体积 460MB ,内存占用 100MB+

- 一个 UI 设计软件?体积 160MB ,内存占用 1GB+

感觉和用 Electron 应用差不多,笨重、软绵绵、不跟手
2023-07-08 19:53:01 +08:00
回复了 buf1024 创建的主题 分享创造 Flutter 编写的收音机桌面+手机端
楼主你是不是在不断地切换 SQLite 的日志模式?

Windows 上,你的应用每秒写入磁盘 10 MB/s 。

追踪看了下,每秒写入这俩文件几百上千次:

- C:\Users\xxx\AppData\Roaming\buf1024\hiqradio\hiqradio\hiqradio.db-wal
- C:\Users\xxx\AppData\Roaming\buf1024\hiqradio\hiqradio\hiqradio.db-journal

按理说,这俩应该只会出现其一?
2023-07-08 16:38:51 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@everyx @hez2010 @DTCPSS 请问有哪些比较著名的 Avalonia 应用吗?想去体验一下
2023-07-08 16:31:26 +08:00
回复了 w568w 创建的主题 程序员 2023 年,有什么原生级性能的跨平台 UI 框架?
@chengxiao #39 Windows 上还有哪些 flutter 应用吗?想去体验一下
2023-07-08 14:40:14 +08:00
回复了 brader 创建的主题 程序员 再也没有了当年的激情,去写出优雅和兼容并存的代码
@locoz 我的朴素思路就是想跳过时不时插播的 澳 门 威 尼 斯 人 广告。

你能演示一下,如何让这个思路演变成,足以让它写出完美达到目的的代码?
2023-07-08 02:18:41 +08:00
回复了 brader 创建的主题 程序员 再也没有了当年的激情,去写出优雅和兼容并存的代码
@locoz #47 能让 AI 帮写一个,能识别视频站的 澳 门 威 尼 斯 人 广告,并自动跳过的代码吗?
2023-07-07 20:53:02 +08:00
回复了 faketemp 创建的主题 分享创造 Json 数据通用提取工具[离线]
@faketemp #15 再试试 pandas 、dsq 、fx 这些,以及 dsq 提到的其他比较快的工具 octosql 、duckdb ( q 太大了,算了):

- **pandas**:总计 5.24 s ,实际 pandas 只用 3.85 s 。看来确实有点重量级,不太适合日常小型数据处理。
- **dsq**:5.30 s ,但是不支持 CSV 输出,是以 json 原样输出的。*(看时间统计,似乎是双线程?)*
- **fx**:很久,且占了 4GB+ 内存,直接中断了。。*(好像也不支持 CSV 输出)*
- **octosql**:不支持读取 JSON Array ,只能 JSON Object ?
- **duckdb**:4.61 s ,和 SQLite 差不多。

Shell 操作记录:

```shell
~/Downloads $ time py -c 'import time; import pandas as pd; begin = time.time(); pd.read_json(r"Y:\villages.json")[["code", "name"]].set_index("code").to_csv(r"Y:\out.csv"); print(f"{time.time() - begin:.2f}s")' && showCsv
3.85s
real 0m 5.24s
user 0m 0.00s
sys 0m 0.01s


~/Downloads $ time ./dsq.exe Y:/villages.json 'SELECT code, name FROM {}' > Y:/out.csv && showCsv
real 0m 5.30s
user 0m 8.81s
sys 0m 1.50s
619503 33905785 Y:/out.csv
{"code":"659011502509","name":"十一连生活区"},
{"code":"659011502510","name":"十二连生活区"},
{"code":"659011502512","name":"五连生活区"}]


~/Downloads $ time ./fx.exe Y:/villages.json 'x.map(y => [y.code, y.name])' > Y:/out.csv && showCsv
^C


~/Downloads $ ./octosql.exe 'SELECT * FROM provinces.json'
Error: typecheck error: couldn't create datasource: expected JSON object, got '[{"code":"11","name":"北京市"},{"code":"12","name":"天津市"},{"code":"13","name":"河北省"},{"code":"14","name":"山西省"},{"code":"15","name":"内蒙古自治区"},{"code":"21","name":"辽宁省"},{"code":"22","name":"吉 林省"},{"code":"23","name":"黑龙江省"},{"code":"31","name":"上海市"},{"code":"32","name":"江苏省"},{"code":"33","name":"浙江省"},{"code":"34","name":"安徽省"},{"code":"35","name":"福建省"},{"code":"36","name":"江西省"},{"code":"37","name":"山东省"},{"code":"41","name":"河南省"},{"code":"42","name":"湖北省"},{"code":"43","name":"湖南省"},{"code":"44","name":"广东省"},{"code":"45","name":"广西壮族自治区"},{"code":"46","name":"海南省"},{"code":"50","name":"重庆市"},{"code":"51","name":"四川省"},{"code":"52","name":"贵州省"},{"code":"53","name":"云南省"},{"code":"54","name":"西藏自治区"},{"code":"61","name":"陕西省"},{"code":"62","name":"甘肃省"},{"code":"63","name":"青海省"},{"code":"64","name":"宁夏回族自治区"},{"code":"65","name":"新疆维吾尔自治区"}]'


~/Downloads $ time ./duckdb.exe -csv :memory: "SELECT code, name FROM 'Y:/villages.json'" > Y:/out.csv && showCsv
real 0m 4.61s
user 0m 3.40s
sys 0m 1.15s
619504 22135235 Y:/out.csv
659011502509,"十一连生活区"
659011502510,"十二连生活区"
659011502512,"五连生活区"
```
@oldshensheep 如果想持续爬取所有新回复,该用什么思路呢?好像没有最新回复列表?
2023-07-07 04:45:09 +08:00
回复了 faketemp 创建的主题 分享创造 Json 数据通用提取工具[离线]
@faketemp #15 不知道你输入了什么命令,不太好猜出错原因。。


我虚拟机装了个 Win XP 试了试,这些工具的最新版都还能正常运行:

- jq ( v1.6 ,2.58 MB ,json 处理)
- SQLite ( v3.42 ,1.09 MB ,小型数据库)
- BusyBox ( v1.37 ,606 KB ,Linux Shell 风格脚本)
- QuickJS ( v2021-03-27 ,863 KB ,支持 ES2020 的 js 引擎)

有以上工具,足够编写很多便捷的小脚本了,也能拖动文件自动处理之类的。

*( dsq 和 fx 确实在 Win XP 上运行不了,估计至少得 Win 7 。。)*


试了试用这些工具导出 [行政区划第 5 级 json 数据( 80 MB )]( https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/villages.json) 为 CSV ,确实还是你的 Json2Csv 工具快些。但总体而言,速度差异不是很大(对比如下,末尾附截图):

| | Json2Csv | jq | SQLite | QuickJS |
| :---: | :--------: | :----: | :----: | :-----: |
| WinXP | (不支持) | 7.26 s | 5.67 s | 8.93 s |
| Win10 | 3.72 s | 5.60 s | 4.26 s | 8.30 s |


对了,如果要把这 5 级(省市县乡村)的 json 数据,根据各自的外键字段,串成 json 树(如下),有啥简单快捷的办法呢?

```json
[
 {
  "code": "11",
  "name": "北京市",
  "children": [
   {
    "code": "1101",
    "name": "市辖区",
    "children": [
     "..."
    ]
   }
  ]
 },
 {
  "code": "12",
  "name": "天津市",
  "children": [
   "..."
  ]
 },
 "..."
]
```


虚拟机里 WinXP 测试各工具导出 CSV 截图:

![]( https://i.imgur.com/jccBQmu.png)


Win10 测试各工具导出 CSV 截图:

![]( https://i.imgur.com/rbTKWNI.png)
2023-07-06 21:54:34 +08:00
回复了 9yue 创建的主题 分享创造 Json 数据通用提取工具,使用 HTML JavaScript [单文件离线版]
这个 json 转换不对呀:

```json
[{"a": 1, "b": [2, 3, 4]}, {"a": 5, "c": 6}]
```

有两个问题:

1. 第一行的 b 数组消失了,变成了 2
2. 第二行的 c 没有解析
2023-07-05 11:03:48 +08:00
回复了 simman 创建的主题 程序员 如何解决 Dart 解析大 Json 文件慢
你要存啥呢?用个普通数据库也不错呀。。

比如,SQLite 解析 JSON 也挺快:

```
sqlite> .timer on
sqlite> SELECT json_array_length(readFile('large-file.json'));
11351
Run Time: real 0.089 user 0.046875 sys 0.046875
```
2023-07-04 23:22:07 +08:00
回复了 faketemp 创建的主题 分享创造 Json 数据通用提取工具[离线]
@faketemp #8 既然都是 Win7 了,为啥 jq/dsq/fx 跑不起来呢?

看了下,jq 还是纯 C 写的,xp 跑也没啥压力吧。。


至于 jq 兼容性较差,json 识别出错,是 json 文件不标准吗?或者说是 json5 ?

按理说,专门处理 json 的工具,识别不了 json ,是会贻笑大方的,应该不至于


另外,有试过打包 python 环境吗?有大佬甚至能打包完整 PyQT5 环境,并分发。(不是 PyInstaller)

链接: https://www.zhihu.com/question/48776632/answer/2336654649

看起来,打包 pandas 应该也不会太难?
1 ... 8  9  10  11  12  13  14  15  16  17 ... 34  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1275 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 18:06 · PVG 02:06 · LAX 10:06 · JFK 13:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.