V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  INCerry  ›  全部回复第 12 页 / 共 19 页
回复总数  377
1 ... 4  5  6  7  8  9  10  11  12  13 ... 19  
2022-06-29 12:29:13 +08:00
回复了 fox0001 创建的主题 程序员 原来我已经不用浏览器的书签同步了
以前我也遇到同样的问题 换了 EDGE 浏览器以后 书签 历史记录 密码 插件 都能在国内同步
2022-06-28 12:32:32 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@netnr 是啊 你创建一个项目 然后把项目文件按照我那样改一下 最后用我提到的命令 打包出来的二进制可执行文件就 1.5MB
你需要引用 Microsoft.DotNet.ILCompiler 这个 NuGet 包
2022-06-28 11:12:21 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
> 这个层面上语言本身影响就很小了,就是一点抽象开销。
@fengjianxinghun 所以不存在啥作弊不作弊 我看 C++ Rust C# 都用上了 SIMD
2022-06-28 10:53:51 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@netnr
我特意试了一下,你看看是不是漏引用了 nuget 包
```xml
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IlcDisableReflection>true</IlcDisableReflection>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.ILCompiler" Version="7.0.0-*" />
</ItemGroup>
</Project>
```
然后 `dotnet publish -c Release -r win-x64`
发布出来的大小:
IlcDisableReflection.exe 1.5MB
2022-06-28 10:49:19 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
> @fengjianxinghun 你也可以给 rust 手工优化试试 看看能不能超过 C++

@fengjianxinghun 看了下 rust 已经用了手工优化的版本了
https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/nbody-rust-9.html
2022-06-28 10:44:34 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@fengjianxinghun 你也可以给 rust 手工优化试试 看看能不能超过 C++
2022-06-28 10:43:44 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@fengjianxinghun 那有什么问题呢?有些语言还没办法用 avx 手工优化呢
2022-06-28 10:37:08 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
> 使用 avx 的 c#
> https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/nbody-csharpcore-9.html
> 直接硬算的 Rust
> https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/nbody-rust-6.html

@fengjianxinghun 这个应该看汇编代码,rust 可能已经优化成 SIMD 了 C# 这边也有 JIT 优化,但是它只在分层编译情况下。
2022-06-27 17:22:20 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@Protocol 因为 C/C++一直都是天花板 但是 C# 开发效率高 另外是带 JIT GC Runtime 里面跑的最快的
2022-06-27 15:50:19 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@Chad0000 目前是可以做到, 有一个 reflection-free 选项,开启以后打包出来的只有几 MB
但是需要放弃很多特性(比如反射会弱的一批,动态加载没了,EMIT 代码生成没办法了-基本上很多 AOP ORM 框架都用不了了),写起来就跟直接用 Go 差不多了,很不爽。
https://github.com/dotnet/runtime/blob/main/src/coreclr/nativeaot/docs/reflection-free-mode.md
2022-06-27 14:41:47 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@min
在他们测的这个场景下
C# 内存占用排名 6 Go 排名 8 Java 排名 13
Java 可真耗内存
2022-06-27 13:42:38 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
@ragnaroks 看了下原链接 https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html
C# .NET SDK 6.0.101
Java openjdk 18 2022-03-22 OpenJDK 64-Bit Server VM
2022-06-27 13:21:46 +08:00
回复了 wdwwtzy 创建的主题 程序员 这个各大语言性能测试结果挺有意思
C# yyds
我不清楚打包应该怎么取消自带运行时,但是按照 publish 来说是可以选择是否包含运行时。楼主可以试一试看看。
<SelfContained>false</SelfContained>
https://docs.microsoft.com/zh-cn/dotnet/core/deploying/single-file/overview#publish-a-single-file-app---sample-project-file
2022-05-23 13:21:55 +08:00
回复了 zhanggang807 创建的主题 程序员 Meta API in Java 终于要来了
@ComputerIdiot 是啊 比以前 mono 的快多了
2022-05-23 12:43:41 +08:00
回复了 zhanggang807 创建的主题 程序员 Meta API in Java 终于要来了
2022-05-23 11:45:17 +08:00
回复了 qiyue0726 创建的主题 C# 请问不用对象,怎么处理复杂 json
和 java 一样的 dictionary 就可以了
@INCerry 还有 Roslyn 动态编译,类似 natasha 那样
@bthulu 那你题目里面的例子举的不是很好,简单的方案你可以直接用 dynamic 或者上面你提到的直接用 IList 。复杂的方案代码生成(表达式树、Emit )
```
var obj = Activator.CreateInstance(typeof(List<int>));
dynamic intList = obj;
Console.WriteLine(intList.Count);
intList.Add(1);
Console.WriteLine(intList[0]);
// output :
// 0
// 1
```
如果我理解没错,那你直接强转就可以了呀
```C#
var obj = Activator.CreateInstance(typeof(List<int>));
List<int> intList = (List<int>)obj;
Console.WriteLine(intList.Count);
``
1 ... 4  5  6  7  8  9  10  11  12  13 ... 19  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1596 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 16:29 · PVG 00:29 · LAX 08:29 · JFK 11:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.