c# - 如何在不到 6 小时的执行时间内测试 500 万亿个组合

标签 c# java php execution-time

<分区>

我现在有一个 PHP 脚本循环遍历一组数组的组合。我可以用一个简单的 PHP 脚本在 1 小时内测试 500 万亿个总组合中的 61 亿个。是否有可能用当今普通 PC 上运行的任何语言编写一个程序,能够在不到 6 小时的时间内测试多个数组的所有 500 万亿个组合?

另外,我没有资源来使用分布式或集群计算来完成这项任务。将代码转换为多线程 java/c# 可以获得什么样的 yield ?

谢谢

最佳答案

让我们从简单的开始。你使用线程吗?如果不是 - 今天的现代高端英特尔每个处理器有 12 个硬件线程。这意味着您可以从线程中获得 12 倍的 yield 。

如果有人获得了专用的服务器,他可以以相对较低的成本轻松获得 24-32 个硬件线程。

如果阵列是半静态的并且您使用了不错的显卡,您可能会发现拥有 800 到 3000 个处理器核心可以节省大量时间。没有什么比这更好的了——如今,即使是普通的 CPU,其芯片或显卡也具有相当多的核心功能。

关于c# - 如何在不到 6 小时的执行时间内测试 500 万亿个组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8911695/

相关文章:

java - modelAndView返回后执行任务

java - 为什么 System.console() 如果使用 java 执行则设置,如果通过 ant 执行则取消设置?

javascript - Ajax 测试(wordpress)

c# - 为什么我不能将表单数据直接绑定(bind)到操作方法参数?

c# - MySQL .Net 连接器 - MySqlReader.Read() 返回 false

c# - 在 C# 中发送原始 IP 数据包,以太网层之上的所有内容

javascript - 页面上有多个相同的 'angular app' 副本

java - Spring Boot REST 资源更改未应用

php - 搜索存储为整数的部分 IP 地址

php - Prestashop,不能要求模块类