Google App Engine 将在半个月内停止对 Python 2 的支持。一周前,部署appcfg.py被拒绝(服务器响应错误并回滚部署)(感谢更新,已找到解决方案)。
据我所知,Python 2 环境是真正免费(最多每日配额)运行 App Engine 的唯一方法。它甚至不需要启用计费(并提供信用卡)。
对于Python 3,有一个standard可以免费运行的环境,正如谷歌所说,但当我尝试部署它时,我被要求启用Cloud Build,这反过来又具有免费的每日配额,但需要通过提供信用卡来启用计费。我还希望标准环境具有其他功能,包括免费配额但启用强制计费。
启用计费的缺点是您无法保证不会被收取任何费用。如果超出配额,您将被收取费用。有没有什么简单的方法可以强制每个月的账单不收一分钱呢?有一些手动配额限制方法,但需要遍历每个小型应用服务中的数十个资源并手动设置限制,而且使用这些方法您仍然可能会被收取少量费用。
当前是否有简单的方法可以使用 google-app-engine 提供完全免费的应用程序?
还有其他完全免费(最多配额)的流行平台来运行 Python Web 应用程序吗?与应用程序引擎相同。
start_time = time.time()
myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.XPATH,
'/html/body/app-root/div[1]/div[1]/div[3]/div[2]/div[1]/div/app-home/div/div[1]/app-slider/div/ngx-siema/div/div/div[4]/ngx-siema-slide/div[1]')))
x = ("%s" % (time.time() - start_time))
roundE = float(x)
print(roundE)
Run Code Online (Sandbox Code Playgroud)
当我打印Rounde输出0.016000032424926758有什么方法可以得到 1 seconds ?吗?
想象以下代码:
uint64_t x = 0x81C6E3292A71F955ULL;
uint32_t y = (uint32_t) (x >> 32);
Run Code Online (Sandbox Code Playgroud)
y接收 64 位整数的较高 32 位部分。我的问题是是否存在任何内在函数或任何 CPU 指令可以在不进行移动和移位的情况下在单个操作中执行此操作?
至少铛(在上面挂尝试,它-在线)创建两个指令mov rax, rdi,并shr rax, 32对于这一点,所以无论是铛不会做这样的优化,或不存在这样的特殊指令。
如果存在像movhi dst_reg, src_reg.
假设我有两个变量:
volatile int a = 0;
int b = 0;
Run Code Online (Sandbox Code Playgroud)
它们在两个线程之间共享。现在在第一个线程中,我按以下顺序修改这些变量:
a = 1;
b = 2;
Run Code Online (Sandbox Code Playgroud)
在第二个线程我做:
while (true) {
if (b == 2)
assert(a == 1);
}
Run Code Online (Sandbox Code Playgroud)
是否保证第二个线程永远不会失败?这意味着第二个线程读取出的写入的值a,并b以相同的顺序,他们是由第一个线程写的?
如您所见,我制作了avolatile 和bnon-volatile。所以我的问题是 volatile 修饰符是否对内存写入的顺序有任何保证?如果我b也制作volatile它会改善情况吗?
或者,只有这样,才能保证顺序是使用std::atomic<int>两个a及b?
怎么样std::mutex?如果我通过两个线程上的单个共享互斥锁保护两个变量并使用非易失性变量,它是否有助于内存排序?也就是说,如果我做下一个(包括a和b是非易失性的):
int a = 0, b = 0; // shared
std::mutex m; // shared
// .... In Thread 1 ....
{ …Run Code Online (Sandbox Code Playgroud) c++ ×2
python ×2
atomic ×1
c ×1
instructions ×1
intrinsics ×1
mutex ×1
python-3.x ×1
volatile ×1