我创建了一个简单的函数来将任何小写字母 az 转换为大写,问题可能不是问题,但每次测试都返回 0。如果我添加 system("pause") 我可以看到一个新值,指示暂停的长度。
是否有更准确的方法来测试速度,或者这实际上是否正确?我想将它与其他函数进行比较,看看它的转换速度是否比标准函数更快。
char* ToUppercase(char* Input)
{
int Len = Length(Input);
for (int i = 0; i < Len; i++)
{
short keycode = static_cast<short>(Input[i]);
if (keycode >= 97 && keycode <= 122)
Input[i] -= 32;
}
return Input;
}
Run Code Online (Sandbox Code Playgroud)
我用来测试的当前计时器是(由其他人创建的)
template<typename TimeT = std::chrono::milliseconds>
struct measure
{
template<typename F, typename ...Args>
static typename TimeT::rep execution(F func, Args&&... args)
{
auto start = std::chrono::system_clock::now();
func(std::forward<Args>(args)...);
auto duration = std::chrono::duration_cast< TimeT>
(std::chrono::system_clock::now() - start);
return duration.count();
} …Run Code Online (Sandbox Code Playgroud) 我正在努力做一个非常基本的文本冒险来测试我的基本技能.基本运动提示用户输入,如果它匹配某些字符串,则更改其坐标.我知道,这很愚蠢.但是if,else if,else匹配他们的反应总是返回else,即使你输入的字符串匹配的一个.
string action;
string west = "go west";
string east = "go east";
string north = "go north";
string south = "go south";
string prompt = "Don't just stand around with your dagger in your ass! Do something! ";
//i wrote a bunch of setup story here, it's irrelevant text output
int vertical = 25;
int horizon = 20;
//action begins
start:
{
cout << "What do you do?" << endl; …Run Code Online (Sandbox Code Playgroud) 有谁知道是否有基于Python的程序利用STL(季节-趋势-黄土)方法分解时间序列?
我看到引用了一个包装程序来调用stlR 中的函数,但我发现从环境设置的角度来看(Python 和 R 一起)不稳定且麻烦。另外,链接已有 4 岁了。
有人可以指出一些最近的事情吗(例如sklearn,spicy等等)?
有没有人知道在Python中进行季节性调整的常规,甚至更好?以下是一个示例数据集(南非CPI),该数据集在今年的前几个月往往会出现峰值:

我想找到剥离季节性因素的潜在压力,但我理想的是喜欢使用一种相当简单的东西,用任何一种语言构建,而不是直接连接或使用像Demetra这样的外部包.
编辑:我运行了python profiler和两个最耗时的东西(这是在我决定注释掉webbrowser部分和Firefox部分代码之后,因为我知道它们将是最慢的部分......),我程序中最慢的部分是re.findall和re.compile(len)和(附加到列表).
我不知道是否应该立即在这里发布我的所有代码,因为我在我的程序上工作非常努力(即使它不太好),所以现在我只想问......怎么样如何让我的Python程序更快?
我现在有3个嫌犯,因为它太慢了:
也许我的电脑很慢
也许我的互联网太慢了(有时我的程序必须下载网页的html,然后通过html搜索特定的文本)
我的代码很慢(可能有太多循环?还有其他什么?我是新手,所以我不知道!)
如果有人能给我建议,我将非常感激!
谢谢!
编辑:
我认为我的代码使用了很多循环...另外,对于程序工作,你必须登录到这个网站:http://www.locationary.com/
from urllib import urlopen
from gzip import GzipFile
from cStringIO import StringIO
import re
import urllib
import urllib2
import webbrowser
import time
from difflib import SequenceMatcher
import os
def download(url):
s = urlopen(url).read()
if s[:2] == '\x1f\x8b': # assume it's gzipped data
with GzipFile(mode='rb', fileobj=StringIO(s)) as ifh:
s = ifh.read()
return s
for t in range(3,39):
print t
s = download('http://www.locationary.com/place/en/US/Utah/Provo-page' + …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用POI从excel读取数据.如何检查这是否为空单元格?
我不知道遗失了什么我认为这应该是有效的:
java.util.Iterator<Row> rows = worksheet.rowIterator();
HSSFRow row = (HSSFRow) rows.next();
HSSFCell cellF1 = (HSSFCell) row.getCell(5);
if(cellF1.getCellType() == HSSFCell.CELL_TYPE_BLANK) {
String val = "";
}
Run Code Online (Sandbox Code Playgroud)
我在if语句(空指针)中出错,但只有当我使用它时我才能检查:
while (rows.hasNext()) {
HSSFRow row = (HSSFRow) rows.next();
java.util.Iterator<Cell> cells = row.cellIterator();
while (cells.hasNext()) {
HSSFCell cell = (HSSFCell) cells.next();
if(cell.getCellType() == HSSFCell.CELL_TYPE_BLANK) {
String emptytype = "";
System.out.println("empty");
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有相同的代码,但AVX版本比SSE版本低得多.有人可以解释一下吗?
我已经做过的是我尝试使用VerySleepy来分析代码,但这不能给我任何有用的结果,它只是证实它更慢......
我已经查看了SSE/AVX指南和我的CPU(Haswell)中的命令,他们需要相同的延迟/吞吐量,只需要水平添加需要AVX的附加命令...
**延迟和吞吐量**
_mm_mul_ps -> L 5, T 0.5
_mm256_mul_ps -> L 5, T 0.5
_mm_hadd_ps -> L 5, T 2
_mm256_hadd_ps -> L 5, T ?
_mm256_extractf128_ps -> L 1, T 1
Run Code Online (Sandbox Code Playgroud)
代码的作用摘要: Final1 = SUM(m_Array1*m_Array1*m_Array3*m_Array3)
Final2 = SUM(m_Array2*m_Array2*m_Array3*m_Array3)
Final3 = SUM(m_Array1*m_Array2*m_Array3*m_Array3)
在里面
float Final1 = 0.0f;
float Final2 = 0.0f;
float Final3 = 0.0f;
float* m_Array1 = (float*)_mm_malloc( 32 * sizeof( float ), 32 );
float* m_Array2 = (float*)_mm_malloc( 32 * sizeof( float ), 32 );
float* …Run Code Online (Sandbox Code Playgroud) 我正在这样做:
Child child = (Child)parent;
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,我发现不可能这样做。我不知道为什么,但是我认为应该可行,如果Childclass继承自Parentclass,则其中包含Parent对象数据。
我的问题是:
:
class Parent{
public int parameter1;//...
public int parameter1000;
}
class Child extends Parent
{
public Child(Parent parent)
{
this.parameter1 = parent.parameter1;//...
this.parameter1000 = parent.parameter1000;
}
}
Run Code Online (Sandbox Code Playgroud) 我的 viewController 中有这段代码
var myArray :Array<Data> = Array<Data>()
for i in 0..<mov.count {
myArray.append(Data(...))
}
class Data {
var value :CGFloat
var name :String=""
init({...})
}
Run Code Online (Sandbox Code Playgroud)
我输入的数据如下:
一旦我循环,我想返回一个新数组:
基于输入的预期结果:
我写了很多行代码,太混乱了,无法发布。我会找到更简单的方法,有人对此有想法吗?
我正在尝试为无服务器架构进行本地开发设置。亚马逊为此提供了SAM Local Beta。但是在我的项目中,我们正在使用mysql数据库。我试图建立到我的本地mysql服务器的连接,但失败了。
module initialization error:
(2003, "Can't connect to MySQL server on 'localhost'
([Errno 99] Cannot assign requested address)")
Run Code Online (Sandbox Code Playgroud)
以下是我的python代码:
import json
import pymysql
def lambda_sandbox_down_handler(event, context):
rds_host = 'localhost'
name = 'localhost'
password = 'localhost'
db_name = 'localhost'
conn = pymysql.connect(rds_host,port=3306, user=name, passwd=password,
db=db_name,charset='utf8mb4',connect_timeout=5)
return conn
Run Code Online (Sandbox Code Playgroud)
我能够使用命令行以及pycharm建立连接。
我的问题是这可能在SAM本地中。
我已经安装了mysql的docker镜像并启动了它。在此之后,我仍然遇到相同的错误。
python ×4
c++ ×3
java ×2
performance ×2
time-series ×2
apache-poi ×1
arrays ×1
avx ×1
aws-sam-cli ×1
c++11 ×1
class ×1
excel ×1
inheritance ×1
ios ×1
loess ×1
mysql ×1
oop ×1
parent ×1
r ×1
sse ×1
swift ×1