我试图谷歌这个,但运气不好。
我有一个很大的转变,有些病例明显比其他病例更常见。
所以我想知道订单是否真的保持原样,并且“上层”案例在“下层”案例之前得到测试,因此评估得更快。
我想保留我的订单,但如果这会影响速度,那么重新排序分支将是一个好主意。
举例说明:
switch (mark) {
case Ion.NULL:
return null;
case Ion.BOOLEAN:
return readBoolean();
case Ion.BYTE:
return readByte();
case Ion.CHAR:
return readChar();
case Ion.SHORT:
return readShort();
case Ion.INT:
return readInt();
case Ion.LONG:
return readLong();
case Ion.FLOAT:
return readFloat();
case Ion.DOUBLE:
return readDouble();
case Ion.STRING:
return readString();
case Ion.BOOLEAN_ARRAY:
return readBooleans();
case Ion.BYTE_ARRAY:
return readBytes();
case Ion.CHAR_ARRAY:
return readChars();
case Ion.SHORT_ARRAY:
return readShorts();
case Ion.INT_ARRAY:
return readInts();
case Ion.LONG_ARRAY:
return readLongs();
case Ion.FLOAT_ARRAY:
return readFloats();
case Ion.DOUBLE_ARRAY:
return readDoubles();
case Ion.STRING_ARRAY:
return readStrings();
default:
throw new CorruptedDataException("Invalid mark: " + mark);
}
对switch语句重新排序没有任何效果。
查看Java字节码规范,可以将开关
编译为查找开关
或表开关
指令,打开int
。lookupswitch
总是以排序顺序使用可能的值进行编译,因此对代码中的常量重新排序将不再重要,tableswitch
只是相对于指定偏移量有一个可能的跳转数组,所以它也不关心原始顺序。
看见http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.查找开关和http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.请查看详细信息。
问题内容: 我试图用谷歌搜索,但是没有运气。 我的开关很大,有些情况 显然 比其他情况 更常见 。 因此,我想知道订单是否真正保持原状,并且在“下”之前先测试“上”案例,因此可以更快地进行评估。 我想保留订单,但是如果它影响速度,那么重新排序分支将是一个好主意。 例如: 问题答案: 对switch语句重新排序没有任何效果。 查看Java字节码规范,可以将a编译为a 或一条指令,然后打开a 。A 总
备选方案2
我有一个有600万行的表,我需要查找六列来选择项目。所以我创建了一个包含六列的索引。 更改索引中列的顺序是否影响查询速度? 查询的速度是否取决于每列所具有的唯一项的数量?或者列上的条件具有的可能结果的总数? 我尝试重新排序索引中的列,查询速度似乎有一些重大变化 表:pic_tag_relations 列: tag_id(int)(1-1,000,000)(基数:最低) contrast_score
问题内容: 到目前为止,我一直只使用scrapy并编写自定义类来使用ajax处理网站。 但是,如果我要使用scrapy-splash,据我所知,它会在javascript之后刮擦呈现的html,那么对我的抓取工具的速度会产生重大影响吗? 用scrapy刮擦香草html页面与使用scrapy-splash渲染javascript html所花费的时间之间的比较是什么? 最后,scrapy-splas
问题内容: 我知道CSS选择器具有最高的优先级(即< )。 我还知道,如果事物具有相同的特异性,那么最后一个调用的语句将具有优先权: HTML类在DOM元素上的排序是否会影响语句优先级? 问题答案: 我不得不不同意乔恩和沃森的回答,因为… 是的, 可以 (取决于声明) 您的问题是: CSS类在DOM元素上的排序是否会影响语句优先级? 哪个确实取决于所讨论的语句。 HTML排序通常不重要 当直接调用
问题内容: 例如,我喜欢在Redis中使用冗长的名称。 这样可以吗?还是会影响性能? 问题答案: 您正在谈论使用的密钥并没有那么长。 您提供的示例键用于一个集合,集合查找方法为O(1)。集合(SDIFF,SUNION,SINTER)上更复杂的操作是O(N)。可能的是,与使用较长的键相比,填充是更昂贵的操作。 Redis带有一个称为的基准实用程序,如果您修改src / redis-benchmark