userforg2021 最近的时间轴更新
userforg2021

userforg2021

V2EX 第 553198 号会员,加入于 2021-08-12 10:53:00 +08:00
userforg2021 最近回复了
2022-09-21 08:48:41 +08:00
回复了 PendingOni 创建的主题 职场话题 [感想]-貌似国内现在用.Net 技术的大厂很少
@documentzhangx66
1. 我并没有想与你"讨论"。

2. 你的结论我仍然不知道是怎么的出来的,数据库切换本来想说下 EF 的,算了,这种垃圾东西你估计看都不会看一眼的。。。

3. 你 @ 了我,然后说 “不像你们,只懂个 .Net ”,“你们”里面不包括我是吧?

4. 你用过 Linux 、Win 、C#、Java ,所以你说的就客观?我开发的东西目标运行环境就是 Linux ,在生产中要写的不止 C#、Java 还有 C++、Python 、JS 等,是不是我说的就比你客观了?

5. 字打到这里我就后悔了,我悟了,你是对的,你都说你是客观的了,那你一定是客观的,我为我上面的不客观道歉。
2022-09-20 21:13:59 +08:00
回复了 PendingOni 创建的主题 职场话题 [感想]-貌似国内现在用.Net 技术的大厂很少
@documentzhangx66
我提您了吗?您为什么要对号入座呢?
您怎么得出的结论“.Net 的主要环境就是 Windows + MSSQLServer”呢?您所谓的主要环境是运行环境还是开发环境呢?
您怎么知道我不用 Linux ?不会 Java 呢?
您从哪里客观的得出了这些结论呢?
2022-09-20 18:15:53 +08:00
回复了 PendingOni 创建的主题 职场话题 [感想]-貌似国内现在用.Net 技术的大厂很少
@Chad0000
我觉得你说的对,这不又来了。。。。
2022-09-20 15:34:11 +08:00
回复了 PendingOni 创建的主题 职场话题 [感想]-貌似国内现在用.Net 技术的大厂很少
因为很多人对.net 的认知还停留在至少 2016 年以前,他们连搜都没搜来看一眼就开始喷,但凡看了一眼官网教程目录都不至于说出某些话。你跟他提.net ,他反手就要给你扯 Windows 、mssql 那些有的没的,我不太懂这是什么逻辑。当然了,还是因为微软是原罪,一些群体都能人均给 Linux 、Mysql 做修改了,当然看不上啦
2022-09-07 17:17:20 +08:00
回复了 bthulu 创建的主题 .NET .net core 的时间日期类为啥这么慢, 跟 Java 至少几十倍的差距
既然你都看到源码了,那就看下 Java 为什么快吧。

从 jdk11 中可以看到 Windows 获取时间使用的函数是 GetSystemTimeAsFileTime ;
https://github.com/openjdk/jdk/blob/jdk-11+28/src/hotspot/os/windows/os_windows.cpp#L917

再看.net6 ,可以看到.net 在系统支持时会使用更精确的时间函数 GetSystemTimePreciseAsFileTime ;
https://github.com/dotnet/runtime/blob/v6.0.8/src/libraries/System.Private.CoreLib/src/System/DateTime.Windows.cs#L134

GetSystemTimePreciseAsFileTime 函数在 win8 以上受支持:
https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime#requirements

这是一个慢的点。但是.net 的 DateTime 精度更高。另外.net 还会计算闰秒:
https://github.com/dotnet/runtime/blob/v6.0.8/src/libraries/System.Private.CoreLib/src/System/DateTime.Windows.cs#L23

这是第二个慢的点。也是为了精度考虑的。当然你可以说是.net 的“过度设计”,你不需要精确时间。。。那这个确实就需要自己动手了:

public unsafe static class SlimDateTime
{
private const long TicksPerMillisecond = 10000;
private const long TicksPerSecond = TicksPerMillisecond * 1000;
private const long TicksPerMinute = TicksPerSecond * 60;
private const long TicksPerHour = TicksPerMinute * 60;
private const long TicksPerDay = TicksPerHour * 24;

private const int DaysTo1601 = 584388;
private const int DaysTo1970 = 719162;

private const long FileTimeOffset = DaysTo1601 * TicksPerDay;

private const ulong KindUtc = 0x4000000000000000;

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static DateTime UtcNow()
{
var ticks = GetTicks();
return *(DateTime*)&ticks;
}

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static ulong GetTicks() => OperatingSystem.IsWindows() ? Windows.GetTicks() : (ulong)DateTime.UtcNow.Ticks;

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static ulong UtcNowUnixTimeMilliseconds() => OperatingSystem.IsWindows() ? Windows.UtcNowUnixTimeMilliseconds() : (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

private static class Windows
{
[DllImport("kernel32", EntryPoint = "GetSystemTimeAsFileTime")]
[SuppressGCTransition]
public extern static void GetSystemTimeAsFileTime(ulong* time);

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static ulong GetTicks()
{
ulong fileTime;
GetSystemTimeAsFileTime(&fileTime);
return fileTime + (FileTimeOffset | KindUtc);
}

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static ulong UtcNowUnixTimeMilliseconds()
{
ulong fileTime;
GetSystemTimeAsFileTime(&fileTime);
return (fileTime - ((DaysTo1970 - DaysTo1601) * TicksPerDay)) / TicksPerMillisecond;
}
}
}

其他的就不评价了,懒得打字;
2022-09-04 09:11:52 +08:00
回复了 bthulu 创建的主题 .NET .net core 的时间日期类为啥这么慢, 跟 Java 至少几十倍的差距
@Maboroshii dotnet run -c Release
2022-09-03 12:40:34 +08:00
回复了 bthulu 创建的主题 .NET .net core 的时间日期类为啥这么慢, 跟 Java 至少几十倍的差距
大佬不先点评一下 Serilog 、NLog 、Microsoft.Extensions.Logging 、log4net 这些怎么不好用?
2022-08-31 08:47:49 +08:00
回复了 pepi 创建的主题 程序员 PowerShell 这种强大的命令行工具,为什么使用的人很少?
@hez2010 虾仁猪心!虾仁猪心!
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2807 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 15:11 · PVG 23:11 · LAX 07:11 · JFK 10:11
Developed with CodeLauncher
♥ Do have faith in what you're doing.