标签: abseil

使用 Abseil 与直接调用 main()?

我一直在用香草

def main():
    # Do stuff


if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

但最近看到人们在做

from absl import app

def main(_):
    # Do things

if __name__ == '__main__':
    app.run(main)
Run Code Online (Sandbox Code Playgroud)

Abseil 提供了flags.FLAGS,但我一直在使用ArgumentParser,它工作得很好,所以 Abseil 在这方面没有胜利。

那么,为什么还要走绳降路线呢?

PS:Reddit上的相关讨论(并没有真正回答这个问题):https://www.reddit.com/r/Python/comments/euhl81/is_using_googles_abseil_library_worth_the/

python abseil absl-py

9
推荐指数
1
解决办法
2293
查看次数

swift Firestore 'absl/numeric/int128_have_intrinsic.inc' 文件未找到

我最近刚刚安装了一个名为 Trigger Email 的 Firebase 扩展,它使用了 Cloud Firestore 集合。我试图将 Firestore 存储到我的 iOS 项目以使用它,但出现以下错误:

'absl/numeric/int128_have_intrinsic.inc' file not found
Run Code Online (Sandbox Code Playgroud)

Xcode 中的错误

以下是我的 podfile 的内容:

platform :ios, '10.0'

target 'FRC Lookout' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for FRC Lookout

pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Google'
pod 'Firebase/Database'
pod 'Firebase/Firestore'
pod 'FirebaseFirestoreSwift'


pod 'MMDrawerController', '~> 0.5.7'
pod 'SwiftyJSON', '~> 4.0'
pod 'Alamofire'
pod 'SVProgressHUD' …
Run Code Online (Sandbox Code Playgroud)

firebase swift abseil google-cloud-firestore

7
推荐指数
1
解决办法
2020
查看次数

为什么链接器找不到absl引用?

为什么链接器找不到absl引用?

配置:

树莓派 4 B 型 (AArch64) | Ubuntu 服务器 20.04 | Clang++ (llvm 13.0.0) | GRPC v1.41.1(libprotoc 3.17.3)

使用以下选项安装 GRPC:

cmake -DgRPC_INSTALL=ON -DCMAKE_BUILD_TYPE=Release -DgRPC_ABSL_PROVIDER=module -DgRPC_CARES_PROVIDER=module -DgRPC_PROTOBUF_PROVIDER=module -DgRPC_RE2_PROVIDER=module -DgRPC_SSL_PROVIDER=module -DgRPC_ZLIB_PROVIDER=module -j4 ../

sudo make install
Run Code Online (Sandbox Code Playgroud)

命令:

clang++ -std=c++17 -iquote /home/ubuntu/gameserver/server/include -include /usr/local/include/grpcpp/support/method_handler.h -L /usr/local/lib src/gameserver.pb.cc src/gameserver.grpc.pb.cc server_test.cpp -lprotobuf -lpthread -ljsoncpp -lgrpc -lgrpc++ -lgrpc++_reflection -labsl_base -labsl_synchronization -labsl_malloc_internal -labsl_stacktrace -labsl_raw_logging_internal -labsl_time -labsl_graphcycles_internal -labsl_spinlock_wait -lgrpc_unsecure -lz -labsl_symbolize -lgpr -labsl_status -labsl_statusor -o server_test -v -Wl,--verbose
Run Code Online (Sandbox Code Playgroud)

链接器找到基类(在此 [header][1] 中找到):

/usr/local/lib/libabsl_base.a
Run Code Online (Sandbox Code Playgroud)

错误:

/usr/bin/ld: /usr/local/lib/libabsl_synchronization.a(mutex.cc.o): in function …
Run Code Online (Sandbox Code Playgroud)

c++ ubuntu-server grpc abseil

7
推荐指数
1
解决办法
1万
查看次数

找不到“Chrono”文件问题 - iOS

我在正在进行的 iOS 项目中集成了一些 Firebase 库,最近我收到了“找不到 chrono 文件”错误,如下所示:

在此输入图像描述

过去两天我一直坚持这个问题。我像往常一样浏览了几个论坛(比如这个还有这个)。但没有任何帮助,并且实际上还无法在任何地方找到可接受的解决方案。另一个奇怪的事情是 Xcode 自动代码完成和控制台日志记录在此之后不起作用。我的 pod 文件如下所示:

# Uncomment the next line to define a global platform for your project
 platform: ios, '13.0'

target 'LearningApp' do
  # Comment the next line if you don't want to use dynamic frameworks
   use_frameworks!

  # Pods for LearningApp


  pod 'Firebase/Firestore'
  pod 'Firebase/Analytics'
  pod 'FirebaseFirestoreSwift'
  pod 'Firebase/Storage'
  pod 'Firebase/Messaging'
  pod 'SDWebImagePDFCoder'
  pod 'Firebase/Auth'
  pod 'MessageKit'
  pod 'GoogleSignIn'
  pod 'SwiftKeychainWrapper'

  
  target 'LearningAppTests' do
    inherit! :search_paths
    # Pods …
Run Code Online (Sandbox Code Playgroud)

cocoapods firebase abseil google-cloud-firestore

5
推荐指数
1
解决办法
655
查看次数

令人惊讶的基准结果

在看了Titus Winters的"Live at Head"演讲后,他提到StrCat()是人们最喜欢的功能之一,我决定尝试实现类似的东西,看看我是否能击败std :: string :: append(或operator +) ,在运行时性能方面,我认为在内部使用附加.我的理由是,作为可变参数模板实现的strcat()函数将能够确定其所有类似字符串的参数的组合大小,并进行单个分配以存储最终结果,而不必在以下情况下不断重新分配: operator +,它不知道它所调用的总体上下文.

但是,当我在快速工作台上将我的自定义实现与operator +进行比较时,我发现我的strcat()实现比clang和gcc的最新版本的运算符+慢了4倍-std=c++17 -O3.我在下面提供了快速工作台代码供参考.

有谁知道这会导致减速的原因是什么?

#include <cstring>
#include <iostream>
#include <string>

// Get the size of string-like args
int getsize(const std::string& s) { return s.size(); }
int getsize(const char* s) { return strlen(s); }
template <typename S>
int strcat_size(const S& s) {
  return getsize(s);
}
template <typename S, typename... Strings>
int strcat_size(const S& first, Strings... rest) {
  if (sizeof...(Strings) == 0) {
    return …
Run Code Online (Sandbox Code Playgroud)

c++ performance benchmarking string-concatenation abseil

4
推荐指数
1
解决办法
273
查看次数

什么是指针稳定性?

链接中关于 Abseil 容器的第二段说:

例如,Abseil 容器通常不保证插入或删除后的指针稳定性。

在这种情况下,指针稳定性是什么意思?

c++ operating-system pointers virtual-memory abseil

2
推荐指数
1
解决办法
1042
查看次数

不带时间戳模块名称的 Python Absl 日志记录

我想知道是否可以在absl python 中仅记录消息字符串,而不记录时间戳和模块名称。例子

I0108 23:40:57.153055 140614090106688 extractor.py:79] processing file: dfcsdf
I0108 23:40:57.162382 140614090106688 extractor.py:72] ['/topic/fdfgd', dfgsdf']
I0108 23:40:57.162861 140614090106688 extractor.py:79] processing file: f456546fd
I0108 23:40:57.171764 140614090106688 extractor.py:72] ['/topic/1', '/topic/2', '/topic/3']
Run Code Online (Sandbox Code Playgroud)

是否有一个配置可以只记录如下消息

processing file: dfcsdf
['/topic/fdfgd', dfgsdf']
processing file: f456546fd
['/topic/1', '/topic/2', '/topic/3']
Run Code Online (Sandbox Code Playgroud)

我知道我可以用控制台打印替换日志记录或编写自定义记录器,我想知道它是否可以在ABSL日志记录中?

python logging abseil absl-py

2
推荐指数
1
解决办法
4314
查看次数