问题标签 [d]

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 投票
5 回答
1031 浏览

c++ - 模板实例化膨胀在实践中何时重要?

似乎在静态编译的 C++ 和 D 语言中,模板元编程是一种流行的技术,对模板实例化膨胀有相当多的关注。在我看来,这主要是一个理论上的问题,除了资源非常有限的嵌入式系统。在嵌入式空间之外,我还没有听说过有人能够证明它在实践中是一个问题的例子。

任何人都可以在资源严重受限的嵌入式系统之外提供一个示例,说明模板实例化膨胀在实践中很重要并且具有可测量的、实际上显着的负面影响?

0 投票
2 回答
285 浏览

performance - 在 D 中实现低级库的建议(相对于 C/C++)

我需要一些关于为项目选择 D 编程语言的建议。该项目是一个低级库,类似于具有许多关联容器等的数据库。因此,效率对我来说非常重要。

我需要为该库提供一个 C API,以便与 C++ 和 Python 等其他语言兼容,并且我还预计某些部分可能需要用纯 C 编写以调整性能。

D 似乎对这份工作很有吸引力:考虑到这些要求,我应该注意哪些陷阱?D 容器的性能与 std::(map, vector, unordered_map, etc...) 相比如何,考虑到手动性能调整(例如使用 std::map::lower_bound 进行搜索/插入等)。

0 投票
14 回答
7745 浏览

c++ - 迁移代码库时,哪种下一代低级语言是最好的选择?

假设您有一家运行大量 C/C++ 的公司,并且您想开始计划迁移到新技术,这样您就不会像 15 年前的 COBOL 公司那样结束。

目前,C/C++ 运行良好,市场上有大量的开发人员。

但是您现在想开始考虑它,因为考虑到庞大的运行代码库和数据敏感性,您觉得可能需要 5 到 10 年才能进入下一步而不会使预算和开发团队超载。

你听说过D,开始相当成熟,还有Go,承诺会很受欢迎。

你的选择是什么,为什么?

0 投票
3 回答
3589 浏览

d - 是否有适用于 D 编程语言的游戏/图形引擎?

是否有适用于 D 编程语言的游戏/图形引擎?

0 投票
3 回答
1912 浏览

iphone - D 编程 & iPhone

我刚刚开始学习“D 编程”。我想在 iPhone 上部署我的程序。这让我想知道;是否可以使用 D? 为 Mac 或 iPhone 开发?我希望应用程序完全编写为 D 或至少最少的 Objective-c。我是否通过选择 D 而不是其他主流语言 (c/c++/java/objective-c/c#) 开始了一场无望的战斗?

0 投票
6 回答
1382 浏览

memory-management - 自旋锁是内存分配器的好选择吗?

我曾多次向 D 编程语言运行时的维护者建议内存分配器/垃圾收集器应该使用自旋锁而不是常规的操作系统临界区。这还没有真正流行起来。以下是我认为自旋锁会更好的原因:

  1. 至少在我所做的综合基准测试中,当内存分配器/GC 锁发生争用时,它比操作系统关键部分快几倍。编辑:根据经验,在单核环境中使用自旋锁甚至没有可测量的开销,可能是因为锁需要在内存分配器中保持如此短的时间。
  2. 内存分配和类似操作通常只占用时间片的一小部分,甚至是上下文切换所需时间的一小部分,这使得在争用情况下进行上下文切换变得很愚蠢。
  3. 无论如何,有问题的实现中的垃圾收集会阻止世界。收集期间不会有任何旋转。

是否有充分的理由不在内存分配器/垃圾收集器实现中使用自旋锁?

0 投票
7 回答
1130 浏览

d - D语言的最佳资源在哪里?

D语言的最佳资源在哪里?

0 投票
1 回答
476 浏览

api - 详细的 Valgrind 内部文档

我正在考虑为 Valgrind 的客户端请求 API 创建一个 D 接口。通过研究头文件和反编译的东西,我最终可以弄清楚它在做什么,但我想知道它们是否是关于事情如何工作的权威文档?(顺便说一句,我已经找到了这个文件,但它没有足够的信息)

我正在寻找的将回答以下问题:如何生成宏来包装/调用返回 32 位机器字并采用 64 位浮点数的函数?

0 投票
9 回答
2222 浏览

c - 简单的图像加载库

我有一个应用程序使用这个库(实际上是D 的直接端口)进行一些图像处理。我正在寻找一些其他类似风格的库来加载其他文件类型。

我需要/想要的东西:

  • 损失较少的格式。
  • 简单的 C API。
  • 以原始像素格式将数据加载到缓冲区中。
  • 开源(因为我可以获取源文件并编译它们以供我自己使用,除此之外,许可无关紧要)

任何人都知道这样的事情吗?

0 投票
1 回答
518 浏览

multithreading - 线程本地,类实例本地存储?

有没有一种很好的、​​与平台无关的方法来实现一个对线程和类实例都是本地的变量,即如果你有 T 线程和 I 类实例,你有那个变量的 TxI 实例?我使用的是 D 编程语言,版本 2,但一个与语言无关的良好答案也会很有用。

以下是一些限制条件:

  1. 绝不能要求同步。这排除了将哈希表映射到作为成员变量的变量引用的线程 ID。
  2. 不能保留应该被垃圾收集的引用。这排除了由类实例索引的线程本地静态哈希表。
  3. 为了效率,初始化应该是惰性的。如果线程从不访问给定实例的变量,则永远不应该创建它。