问题标签 [folly]

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 投票
1 回答
4069 浏览

ios - 'folly/folly-config.h' 文件未找到

当我想通过 xcode 运行应用程序时遇到了这个问题

仅显示所有错误 /Users/ugur/Documents/Projects/MyApp/node_modules/react-native/ReactCommon/cxxreact/JSBundleType.h:10:10: 'folly/Portability.h' 文件未找到

0 投票
1 回答
1660 浏览

c++ - Folly 项目的 Cmake 文件

我正在尝试编写一个玩具示例来使用 Facebook 的Folly 。该程序引入了以下内容:

问题是我不确定编译这样的程序需要哪些库。CMakeList.txt如果有人可以共享项目的文件,我将不胜感激Folly

0 投票
3 回答
299 浏览

c++ - 先前循环迭代对当前迭代执行时间的影响

我正在尝试测量follyhashmap 中并发插入的性能。此处提供了用于此类插入的程序的简化版本:

问题是在 main 中使用这个循环会突然增加func函数中的测量时间。也就是说,如果我直接从 main 调用函数而没有任何循环(如下所示),某些情况下的测量时间会突然减少 100 倍以上。

可能的原因

  1. 我在构建 hasmap 时分配了大量内存。我相信当我在循环中运行代码时,在执行循环的第二次迭代时,计算机正忙于为第一次迭代释放内存。因此,程序变得慢得多。如果是这种情况,如果有人能提出一个改变,我可以通过循环获得相同的结果,我将不胜感激。

更多细节

请注意,如果我在 main 中展开循环,我也会遇到同样的问题。也就是说,下面的程序也有同样的问题:

样本输出

第一个程序的输出如下所示:

func 单独运行main并i=2048产生j=0.25

非常感谢任何评论/见解。

0 投票
0 回答
533 浏览

c++ - 愚蠢的未来如何实现链式异步回调?

我从一个 Instagram 博客中读到,在愚蠢的未来,你可以这样做:

我很好奇愚蠢的未来如何让它发挥作用。我读了一些愚蠢的未来源代码。在 then() 方法中,它在内部创建了一个 promise/future 对。我的问题是如何愚蠢地将这个内部承诺/未来与回调的返回值联系起来,以便 then() 的链可以继续?

0 投票
1 回答
1026 浏览

ios - react-native 应用程序的 Pod 安装失败(NoMethodError - 未定义的方法 `basename' for #)

在 react-native 应用程序的 ios 文件夹中安装 Pod 失败,并出现以下错误:

在另一台机器上克隆时完全相同的存储库会安装所有 pod,而不会出现任何问题。我正在删除我的node_modulesPods/然后运行 ​​npm install,然后运行 ​​pod install。它每次都给出相同的错误。

我也尝试卸载我的 cocoapods 并重新安装它。我的 cocoapods 版本是 1.8.4。我也尝试过 1.6 版。

我的系统可能有什么问题,因为相同的代码在其他计算机上运行良好。

我的 react native 项目的 podspec 文件如下:

0 投票
2 回答
769 浏览

c++ - 何时使用愚蠢的单元类型

在下面的代码片段中,我看到了这种Unit类型,但不知道何时使用它以及它在做什么?我读了这个https://github.com/facebook/folly/blob/master/folly/Unit.h但仍然不知道如何在我的程序中使用这个单元。单元将提供哪些帮助的典型场景是什么?

0 投票
2 回答
2428 浏览

c++ - C++20 协程的 Lambda 生命周期解释

Folly有一个可用于 C++20 风格协程的库。

在自述文件中声称:

重要提示:您需要非常小心临时 lambda 对象的生命周期。调用 lambda 协程返回一个 folly::coro::Task 捕获对 lambda 的引用,因此如果返回的 Task 没有立即 co_awaited,那么当临时 lambda 超出范围时,该任务将留下一个悬空引用。

我试图为他们提供的示例制作一个 MCVE,但对结果感到困惑。为以下所有示例假设以下样板:

我用地址清理器编译了以下内容,看看是否会有任何悬空引用。

编辑:澄清问题

问题:为什么第二个示例没有触发 ASAN 警告?

根据cppreference

当协程到达 co_return 语句时,它会执行以下操作:

...

  • 或为 co_return expr 调用 promise.return_value(expr),其中 expr 具有非 void 类型
  • 以与创建时相反的顺序销毁所有具有自动存储持续时间的变量。
  • 调用 promise.final_suspend() 和 co_await 是结果。

因此,也许在返回结果之前临时 lambda 的状态实际上并没有被销毁,因为foo它本身是一个协程?


ASAN 错误:我假设等待协程时不存在“i”


没有错误——为什么?


ASAN 错误:与第一个示例相同的问题?


没有错误......并且为了很好的衡量,只返回一个常量(没有捕获 lambda 状态)就可以了。与第一个示例比较:

0 投票
1 回答
42 浏览

c++ - “原位没有内存分配”对于 String 的愚蠢实现意味着什么?

来自愚蠢的文档

这些“小字符串”存储在哪里?

0 投票
1 回答
364 浏览

c++ - .thenValue() 是否阻塞?

在很多地方,我发现类似:

thenValue() 是否阻塞了未来的“A”。我通读了 Folly 文档,但无法理解。 https://github.com/facebook/folly/blob/master/folly/docs/Futures.md

0 投票
0 回答
141 浏览

c++ - 无法在 Fedora 31 上安装 Folly

我无法在 Fedora 31 上编译。我安装了 fmt 并按照以下说明进行操作:

当我运行时cmake ..,我收到以下错误: