问题标签 [lookup-tables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
652 浏览

c# - C# 在带循环的内存访问方面比 Java 慢一半?

我有两段在 C# 和 Java 中相同的代码。但是 Java 的速度要快两倍。我想知道为什么。两者都使用相同的原理,即使用大查找表来提高性能。

为什么 Java 比 C# 快 50%?

Java代码:

它只是列举了所有可能的 7 张牌组合。C# 版本是相同的,除了最后它使用 Console.writeLine。

查找表定义为:

它在内存中的大小约为 120 兆字节。

C# 版本具有相同的测试代码。它是用 Stopwatch 而不是 nanoTime() 来测量的,并使用Console.WriteLine而不是,System.out.println("")但它至少需要两倍的时间。

Java 大约需要 400 毫秒。对于 java 中的编译,我使用 -server 标志。在 C# 中,构建设置为在没有调试或跟踪定义的情况下发布。

速度差异的原因是什么?

0 投票
2 回答
489 浏览

php - 查找表:有更好的做法吗?

我想知道在设计查找表时是否有更好的做法或原则。

我打算设计一个可以服务于许多不同情况的抽象查找表。

例如,我将查找表称为masters and slaves表,

所以这个查找表可以处理这些类型的关系,比如,

表中将cat_id描述masters and slaves和区分这些类别。例如,cat_id 1Admins 和 Members等等。

我将插入:

  1. 管理员 id 进入列, master_id成员 id 进入 slave_id
  2. 父页面 id 进入列, master_id子页面 id 进入 slave_id
  3. 将类别 ID 发布到列中master_id,将页面 ID 发布到 slave_id列中
  4. ETC

但我很确定我是否应该这样做:

  1. 这是一个很好的查找表实践还是应该为不同的关系创建多个查找表?
  2. 如果我可以做这样的查找表,它只是一个查找表,我将来会有什么后果?当我的网站内容增长时,这个唯一的查找表会被过度填充吗?
  3. 想到的另一件事是 - 标签系统不是查找表解决方案吗?

谢谢。

0 投票
2 回答
249 浏览

asp.net - 查找值应如何在 ASP.NET 业务对象中表示?

我目前正在编写一个具有相对规范化的 SQL 数据库后端的 N 层架构的 ASP.NET 系统,但我正在努力了解如何在我的业务对象中表示查找值(我没有特权使用 EF 或 ORM)。我的表(例如)可以这样构造:

核心数据表:

颜色查找:

现在最初,我创建的业务对象如下所示:

但是,例如,当我想列出数据库中的所有人以及他们最喜欢的颜色时,我应该怎么做?我不能只显示查找 ID,所以现在我看到 4 个选项:

  1. 向被调用的类添加一个方法,该方法在调用Person.GetColourStringValue时从数据库中获取颜色名称。这将是低效的,因为在 100 个“Person”对象上使用此方法将导致 100 个数据库查询。
  2. 将对象的FavouriteColour属性Person作为字符串,每当将人物对象写入数据库时​​进行反向查找(即获取颜色名称,并获取相应的ID)。在数据库中两种颜色具有相同名称的不太可能的情况下,这是危险的 IMO。
  3. 将 ID 和值都存储在Person对象中,并在其中一个或另一个值更新时同步它们。对于一个相对琐碎的任务来说,这似乎过于复杂。
  4. 创建两个表示,Person对象和一个PersonSummary对象,该对象拉回对象的只读版本,所有查找值都转换为它们的描述性名称。

我 100% 确信我 (a) 想太多了,并且 (b) 让它变得比需要的更复杂。那么,有没有首选的方法呢?或者有没有我忽略的选项?任何帮助表示赞赏,我已经解决了几个小时没有做出决定。

谢谢。

0 投票
2 回答
5585 浏览

c++ - 如何在 Qt QImage 中使用颜色 LUT

我有一些遗留代码正在写入 NITF 文件以显示一些图像。在旧代码中,似乎使用了 LUT,并且有一段代码一次将一行写入 NITF 文件,并且该行的值是这样计算的:

data 是我原始的无符号字符数组。

所以现在我正在尝试获取该数据数组并将其输出到我的 GUI 中的 QImage 中。

在我看来,在 NITF 中,有一块 LUT 数据的大小为“行 x 列”,对吧?所以我创建了一个 lu 数据数组:

然后我尝试像这样填充 qimage:

但是,这似乎或多或少只是给了我一个灰度图像,而不是我的实际数据。

我究竟做错了什么?

谢谢!

0 投票
1 回答
1952 浏览

c++ - QPixmap::fromImage() 在 QX11PixmapData 中给出分段错误

我写了一些看起来或多或少像这样的代码:

所以 lutData (unsigned char) 是我在 colorTable 中的索引。这在代码段的最后一行崩溃,实际行在一个库中,我看不到名为 QX11PixmapData 的源。我做错了什么导致这次崩溃,还是 Qt 错误?

如果这很重要,我正在运行 CentOS 5.5。

谢谢!

0 投票
4 回答
1086 浏览

c - 使用查找表进行优化

我为一个程序编写了一些 c 代码,该程序对声音数据进行了一些心理声学处理。

有一段代码运行得很慢。

我认为最好使用查找表。一个人将如何实施它?

任何指示或帮助将不胜感激!:)

0 投票
3 回答
872 浏览

c - 内存 C 中的 IP 查找表

我目前正在尝试使用 libpcap 和各种 C 应用程序,并尝试完成以下工作。在程序初始化时,我想从文件中加载 IP 并将它们存储在内存中。当我收到一些要处理的数据包详细信息时,我想将一个 IP 与加载到内存中的一组 IP 进行比较。

在 C 中实现这一点的最佳方式/数据结构是什么?我需要适应列表增长和高效匹配,所以我觉得一个简单的查找数组将是一个错误的解决方案。帮助?

0 投票
3 回答
2127 浏览

php - 基于键或数据的 PHP 查找

是否有一种数据结构允许我在给定键时查找数据,或者在给定数据时查找键?我正在使用 PHP,但我对任何语言的答案都很好奇。

0 投票
6 回答
2490 浏览

c++ - c++ isalpha 查找表

实现查找表的最简单方法是使用带有 256 个字符(256 字节)的数组的查找表来检查字符是否为 alpha?我知道我可以使用 isalpha 函数,但是查找表应该更有效,需要一个比较而不是多个比较。我正在考虑将索引与 char 十进制转换相对应,并直接检查 char 是否等效。

0 投票
1 回答
2428 浏览

shader - Pow 函数与着色器中的查找纹理

我正在为 XBOX 360 开发,我在一些光照计算中使用 pow() 内在函数。

6-8 年前,通常使用一维查找纹理来近似 pow()。还有人这样做吗?

对于 6 岁的 XBOX 360 是否值得尝试,还是不太可能提高性能?