V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  a33291  ›  全部回复第 33 页 / 共 37 页
回复总数  729
1 ... 25  26  27  28  29  30  31  32  33  34 ... 37  
分子报道
2022-09-05 15:07:23 +08:00
回复了 James369 创建的主题 Windows Windows Terminal 数据一多就显示错乱,有招吗?
https://s2.loli.net/2022/09/05/wZaqNbiIyVgA8eQ.png

没有遇到这个问题 win11 terminal 1.15.2283.0
2022-09-05 14:55:05 +08:00
回复了 a33291 创建的主题 分享创造 分享一个 xshell 会话转 mobaxterm 的工具
@Ansen 感谢分享

我也试用过 windterm,个人感觉功能上暂时还是无法和 xshell 或者 mobaxterm 比较,不是很适合我,当然,开源免费算是一个优点.

反正选择合适自己的就好.
目前用的最多的应该就是 ssh 和 rdp 了(用 frp 穿透)
向日葵从 10.0 版本后就内部写死了一个日期(应该是 2022.6 的某一天),过了这个日期当你试图不安装运行时,会自动下载新版本并替换自身,非常恶心.
我上次一直疑惑为什么之前可以绿色运行,后头不行了,最后发现运行的 exe 从 11 变成了 12.之后新开虚拟机去运行 11,会发现会自动更新成 12 版本,而且改系统时间无效(RunAsDate 也不好使),应该是网络时间校验.

当前想要绿色版的话,测试发现 9.x 还可以绿色运行.
我个人主要用 frp 穿透后使用 rdp,偶尔会用 rustdesktop.
2022-09-04 16:14:17 +08:00
回复了 ZhiyuanLin 创建的主题 程序员 知乎喜迎全平台隐写水印
真给自己脸了属于是,以为没他地球不转了.

已注销账号.
2022-09-04 11:27:39 +08:00
回复了 bthulu 创建的主题 .NET .net core 的时间日期类为啥这么慢, 跟 Java 至少几十倍的差距
@beyondex 你好,是 @Maboroshii 这位朋友先说测试代码存在 cpu 占用差异,所以我这里才比较的 cpu.

个人看法哈,对于外部因素都基本一样(代码逻辑一致 硬件环境一致)的场景下,可以横向比较一下.
再次感谢各位的回复

对于洗牙(拔智齿反正不行,重医附属医院),好像都是不能走医保报销的(我意思走个人账户也不算是报销,和直接掏钱基本没区别),另外就是有朋友提到有一个报销基数的问题,这个好像是各地政策不一样,北京是 1700 还是多少,一般门诊类的都会低于这个基数,所以很多都报不了.

总结下差异点
1. 设备差异,相对来说医院的设备可能会更为专业
2. 卫生条件,医院卫生条件会更好一些
3. 外围措施更完善,医院一般会进行验血(但是也看有朋友提到不验血的),我问了两江新区人民医院这边是要验血的
4. 价格,医院一般都会比牙科诊所贵,同时可能会有消费陷阱
5. 信誉背书,医院信誉一般来说好过牙科诊所

综合看,医院的价格有其一定的道理和合理性.
实际操作上,老实说,占一部分运气成分,如果经济允许,还是选择公立医院更为可靠.
2022-09-04 09:51:14 +08:00
回复了 bthulu 创建的主题 .NET .net core 的时间日期类为啥这么慢, 跟 Java 至少几十倍的差距
@Maboroshii
是的,请分别在 release 模式下编译后,单独运行进行比较
C# netcore 6.0.400
```
dotnet build -c Release
./main.exe
```
cpu 占用 最高 2.95% 最低 1.53% 平均 2.2%
内存 15.71MB

go 1.19
```
go build -ldflags "-s -w" main.go
./main.exe
```
cpu 占用 最高 3.39% 最低 1.54% 平均 2.5%
内存 15.75MB

以上数据均运行多次,取最优

就仅针对测试代码来说,这些数据表明 c#和 go 性能基本一致.但是要注意,
1. 这里边其实包含了编译器本身的 buff 加持,即编译器本身的优化也会影响结果,因为测试代码相对简单,极有可能会被编译器优化掉(暂未对比汇编).
2. go 中 routine 无处不在,通过查看 2 个程序的线程 cycles delta 等参数可知,go 在运行时多个线程均较高,C#版本仅主线程较高.也就是可能他们的调度机制不一样.

另外说明,我对 go 不了解,对 go 的信息了解不一定正确(如有误请指正).

结论
单就以上测试代码来说,我觉得他们是性能持平的(实际场景业务复杂,不好拉平衡量,暂不讨论).

附 C#的 csproj 文件
```
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<OutputPath>.</OutputPath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
</PropertyGroup>
</Project>
```
2022-09-03 16:19:27 +08:00
回复了 bthulu 创建的主题 .NET .net core 的时间日期类为啥这么慢, 跟 Java 至少几十倍的差距
@Maboroshii 可以发一下测试代码,对于基础的使用,请参阅微软的官网文档,很详细了.

不管什么语言,大部分时候如果性能不符合预期,都先从自己身上找问题.写语言和编译器的人水平在绝大部分人之上
感谢各位回复

医院的确会做凝血检查,他们学名叫 龈上洁治,也就是只清洁牙龈以上部分,外边的牙科诊所一般也是只做这个,不过都多少会出血.

那我感觉就外边牙科诊所就好了,省 200 吃鸭脖 :)
2022-09-03 14:08:45 +08:00
回复了 bthulu 创建的主题 .NET .net core 的时间日期类为啥这么慢, 跟 Java 至少几十倍的差距
系统 win11 22h2 22622.590
cpu i5-9600K
内存 32G

以下代码均不开优化,否则可能会被优化掉

场景 1 格式化为字符串
C# netcore 6.0.400
```
using System;
using System.Diagnostics;

var sw = Stopwatch.StartNew();
for (var i = 0; i < 1_000_000; i++)
{
var now = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//var now = DateTime.Now;
}
sw.Stop();
Console.WriteLine(sw.ElapsedMilliseconds);
```
Java 1.8.0.333
```
package com.company;

import java.util.Date;
import java.text.SimpleDateFormat;

class Playground {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long stime = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Date now = new Date();
String nowString = format.format(now);
}
long etime = System.currentTimeMillis();
System.out.printf("%d ", (etime - stime));
}
}
```
以上代码分别执行 5 次
C# 243 232 237 233 236
Java 617 629 619 632 616

场景 1 只读取当前时间,不做格式化
C# netcore 6.0.400
```
using System;
using System.Diagnostics;

var sw = Stopwatch.StartNew();
for (var i = 0; i < 1_000_000; i++)
{
//var now = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
var now = DateTime.Now;
}
sw.Stop();
Console.WriteLine(sw.ElapsedMilliseconds);
```
Java 1.8.0.333
```
package com.company;

import java.util.Date;
import java.text.SimpleDateFormat;

class Playground {
public static void main(String[] args) {
//SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long stime = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Date now = new Date();
//String nowString = format.format(now);
}
long etime = System.currentTimeMillis();
System.out.printf("%d ", (etime - stime));
}
}
```
以上代码分别执行 5 次
C# 39 38 39 39 39
Java 9 10 10 9 9

结论
1. 均执行时间字符串格式化时,C#比 Java 快
2. 仅执行获取当前时间的代码时,java 更快

关于结论 2 的分析

通过查看源代码,java 的 new Date() 仅执行一个成员赋值
```
public Date() {
this(System.currentTimeMillis());
}
public Date(long date) {
fastTime = date;
}
private transient long fastTime;
```
而 C#的 Date.Now 源码
```
public static DateTime Now
{
get
{
DateTime utc = UtcNow;
long offset = TimeZoneInfo.GetDateTimeNowUtcOffsetFromUtc(utc, out bool isAmbiguousLocalDst).Ticks;
long tick = utc.Ticks + offset;
if ((ulong)tick <= MaxTicks)
{
if (!isAmbiguousLocalDst)
{
return new DateTime((ulong)tick | KindLocal);
}
return new DateTime((ulong)tick | KindLocalAmbiguousDst);
}
return new DateTime(tick < 0 ? KindLocal : MaxTicks | KindLocal);
}
}
public static unsafe DateTime UtcNow
{
get
{
ulong fileTimeTmp; // mark only the temp local as address-taken
s_pfnGetSystemTimeAsFileTime(&fileTimeTmp);
ulong fileTime = fileTimeTmp;

if (s_systemSupportsLeapSeconds)
{
// Query the leap second cache first, which avoids expensive calls to GetFileTimeAsSystemTime.

LeapSecondCache cacheValue = s_leapSecondCache;
ulong ticksSinceStartOfCacheValidityWindow = fileTime - cacheValue.OSFileTimeTicksAtStartOfValidityWindow;
if (ticksSinceStartOfCacheValidityWindow < LeapSecondCache.ValidityPeriodInTicks)
{
return new DateTime(dateData: cacheValue.DotnetDateDataAtStartOfValidityWindow + ticksSinceStartOfCacheValidityWindow);
}

return UpdateLeapSecondCacheAndReturnUtcNow(); // couldn't use the cache, go down the slow path
}
else
{
return new DateTime(dateData: fileTime + (FileTimeOffset | KindUtc));
}
}
}
```

可以看出 java 的实现在仅 new Date()的情况下,执行的操作比 C#少很多,诸如 getTime 等都是调用时才计算,而 C#这边则是已经需要计算很多成员所以更慢.
2022-09-03 10:27:12 +08:00
回复了 kyro00000 创建的主题 问与答 幼儿园任务繁重,求助解决方案
照片和视频是用手机拍的吗
2022-09-02 10:29:10 +08:00
回复了 0o0O0o0O0o 创建的主题  WATCH 大家的九月挑战徽章具体内容是什么
每天 5000 步,30 分钟活动时间,减轻脂肪肝
2022-09-02 09:09:28 +08:00
回复了 xuxuzhaozhao 创建的主题 GitHub Github 要把 Trending 关了?
现在刷榜的多(特指国内),一些前排的项目并不是什么技术项目,各种目的都有(比如什么资料收集 面试之类)

另外这个榜估计也被很多爬虫关照
2022-08-31 09:05:15 +08:00
回复了 Ashore 创建的主题 问与答 想再学一门编程语言,不知道学啥。。
欢迎加入 java 大家庭
2022-08-31 09:00:31 +08:00
回复了 a33291 创建的主题 问与答 请问是否有软件能自动生成扫描版 PDF 的书签或目录?
谢谢各位

目前应该都只能先转 word ,然后通过 word 生成目录,再转换为 pdf 。这些步骤都要手动完成,目前 ocr 识别效果最好的应该还是 abbyy ,一些 GB 文档的文字样式比较麻烦。
2022-08-30 14:24:09 +08:00
回复了 obwj 创建的主题 问与答 Mac 数据库软件推荐
我有 win 版 keygen,但不确定是否适合 macos
2022-08-30 12:17:39 +08:00
回复了 nash 创建的主题 程序员 成为程序员后你都明白了什么?
1. 原来可以这么多毛病同时出现(手腕 脖子 眼睛 腰 肝 三高)
2. 以前笑别人提笔忘字,现在已是同道中人,所以别笑人家
3. 年纪是过不去的坎,再也无法熬夜加班了
这个很漂亮,收费,但是也能找到源码.

https://keenthemes.com/metronic/
2022-08-28 09:49:47 +08:00
回复了 a33291 创建的主题 程序员 哦豁,喜提中度脂肪肝
感谢各位建议,希望大家都能健康编码 😘

我个人的话目前超按身高预估的最佳体重有 12KG,已属于偏重,而且的确肚子大特征明显.
大概一年还是两年前体检当时是说有脂肪肝趋势,没在意,然后再去查就中度了,速度很快.

平时不抽烟不喝酒,就是每天电脑面前时间很长,每天平均 10 多个小时.而且自从换工作后,单位离家非常近(步行几分钟),所以等于没得运动.

希望各位都能引以为戒,保护自己的身体
1 ... 25  26  27  28  29  30  31  32  33  34 ... 37  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3381 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 11:44 · PVG 19:44 · LAX 03:44 · JFK 06:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.