SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('options', 'languages', 'contentTypes', 'codeEventListeners', 'deferredRun', 'simpleCache', 'addOns', 'defaultStyleProperties', 'routeFiltersIn', 'routeFiltersOut', 'routesPublic', 'nodeTypes', 'bannedIps', 'discouragedIps', 'styles', 'displayStyles', 'userBanners', 'smilies', 'bbCode', 'threadPrefixes', 'userTitleLadder', 'reportCounts', 'moderationCounts', 'userModerationCounts', 'notices', 'userFieldsInfo')
Run Time: 0.000829
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 26 | Using where |
SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('brListenerClasses', 'brBriviumAddOns')
Run Time: 0.000160
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 2 | Using where |
SELECT *
FROM xf_brivium_addon
ORDER BY addon_id
Run Time: 0.000147
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_brivium_addon | index | | PRIMARY | 77 | | 1 | |
INSERT INTO xf_data_registry
(data_key, data_value)
VALUES
(?, ?)
ON DUPLICATE KEY UPDATE
data_value = VALUES(data_value)
Params: brBriviumAddOns, a:0:{}
Run Time: 0.000128
SELECT cache_value
FROM xf_permission_combination
WHERE permission_combination_id = ?
Params: 1
Run Time: 0.000171
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_permission_combination | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT thread.*
,
user.gender, user.avatar_date, user.gravatar,
NULL AS thread_read_date,
0 AS thread_reply_banned,
0 AS thread_is_watched,
'' AS draft_message, NULL AS draft_extra
FROM xf_thread AS thread
LEFT JOIN xf_user AS user ON
(user.user_id = thread.user_id)
WHERE thread.thread_id = ?
Params: 326432
Run Time: 0.000484
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | user | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT node.*, forum.*
,
permission.cache_value AS node_permission_cache,
NULL AS forum_read_date
FROM xf_forum AS forum
INNER JOIN xf_node AS node ON (node.node_id = forum.node_id)
LEFT JOIN xf_permission_cache_content AS permission
ON (permission.permission_combination_id = 1
AND permission.content_type = 'node'
AND permission.content_id = forum.node_id)
WHERE node.node_id = ?
Params: 25
Run Time: 0.000786
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | forum | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | node | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | permission | const | PRIMARY | PRIMARY | 35 | const,const,const | 1 | |
SELECT post.*
,
thread.*, thread.user_id AS thread_user_id, thread.username AS thread_username,
thread.post_date AS thread_post_date,
post.user_id, post.username, post.post_date,
bb_code_parse_cache.parse_tree AS message_parsed, bb_code_parse_cache.cache_version AS message_cache_version,
user.*, IF(user.username IS NULL, post.username, user.username) AS username,
user_profile.*,
user_privacy.*,
signature_parse_cache.parse_tree AS signature_parsed, bb_code_parse_cache.cache_version AS signature_cache_version,
session_activity.view_date AS last_view_date,
0 AS like_date
FROM xf_post AS post
INNER JOIN xf_thread AS thread ON
(thread.thread_id = post.thread_id)
LEFT JOIN xf_bb_code_parse_cache AS bb_code_parse_cache ON
(bb_code_parse_cache.content_type = 'post' AND bb_code_parse_cache.content_id = post.post_id)
LEFT JOIN xf_user AS user ON
(user.user_id = post.user_id)
LEFT JOIN xf_user_profile AS user_profile ON
(user_profile.user_id = post.user_id)
LEFT JOIN xf_user_privacy AS user_privacy ON
(user_privacy.user_id = post.user_id)
LEFT JOIN xf_bb_code_parse_cache AS signature_parse_cache ON
(signature_parse_cache.content_type = 'signature' AND signature_parse_cache.content_id = post.user_id)
LEFT JOIN xf_session_activity AS session_activity ON
(post.user_id > 0 AND session_activity.user_id = post.user_id AND session_activity.unique_key = CAST(post.user_id AS BINARY))
WHERE (
(post.thread_id = ? AND (post.position >= 0 AND post.position < 10) )
)
AND (post.message_state IN ('visible'))
ORDER BY post.position ASC, post.post_date ASC
Params: 326432
Run Time: 0.003358
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | Using filesort |
SIMPLE | post | ref | thread_id_post_date,thread_id_position | thread_id_post_date | 4 | const | 1 | Using index condition; Using where |
SIMPLE | bb_code_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.post_id | 1 | Using where |
SIMPLE | user | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_profile | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_privacy | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | signature_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.user_id | 1 | Using where |
SIMPLE | session_activity | eq_ref | PRIMARY | PRIMARY | 22 | xenforo.cc.post.user_id,func | 1 | Using where |
INSERT INTO xf_thread_view
(thread_id)
VALUES
(?)
Params: 326432
Run Time: 0.000087
INSERT INTO `xf_session` (`session_id`, `session_data`, `expiry_date`) VALUES (?, ?, ?)
Params: 9623a1ebb2e8cd4658475148d109579a, , 1714362528
Run Time: 0.000660
INSERT INTO xf_session_activity
(user_id, unique_key, ip, controller_name, controller_action, view_state, params, view_date, robot_key)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
ip = VALUES(ip),
controller_name = VALUES(controller_name),
controller_action = VALUES(controller_action),
view_state = VALUES(view_state),
params = VALUES(params),
view_date = VALUES(view_date),
robot_key = VALUES(robot_key)
Params: 0, , , XenForo_ControllerPublic_Thread, Index, valid, thread_id=326432, 1714358928,
Run Time: 0.000121
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 333061, a:11:{i:0;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:177:"Linux 创始人 Linus Torvalds 在今天的邮件列表讨论中,表达了对部分英特尔处理器中的 Advanced Vector Extensions 512 (AVX-512)指令集的一些看法。";}}i:1;s:180:"引用外媒 Phoronix 本周早些时候关于英特尔为 Alder Lake(以及 Sapphire Rapids)启用该编译器指令的报道,Torvalds 在邮件列表中进行了讨论。
";i:2;a:4:{s:3:"tag";s:6:"center";s:6:"option";N;s:8:"original";a:2:{i:0;s:8:"[CENTER]";i:1;s:9:"[/CENTER]";}s:8:"children";a:1:{i:0;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:66:"https://static.cnbetacdn.com/article/2020/0713/bdecba32701966f.jpg";s:8:"original";a:2:{i:0;s:74:"[URL='https://static.cnbetacdn.com/article/2020/0713/bdecba32701966f.jpg']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:96:"https://rdimg.com/proxy/https://static.cnbetacdn.com/thumb/article/2020/0713/bdecba32701966f.jpg";}}}}}}i:3;s:2:"
";i:4;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:3:{i:0;s:139:"目前,在 GCC 中的 Alder Lake 指令集并没有涉及到 AVX-512,只是提及到了 AVX2 等其他内容,这可能是因为目前";i:1;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:75:"https://c.duomai.com/track.php?site_id=242986&euid=&t=https://intel.jd.com/";s:8:"original";a:2:{i:0;s:83:"[URL='https://c.duomai.com/track.php?site_id=242986&euid=&t=https://intel.jd.com/']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:9:"英特尔";}}i:2;s:48:"主要集中在大小核的新混合设计上。";}}i:5;s:2:"
";i:6;a:4:{s:3:"tag";s:6:"center";s:6:"option";N;s:8:"original";a:2:{i:0;s:8:"[CENTER]";i:1;s:9:"[/CENTER]";}s:8:"children";a:1:{i:0;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:66:"https://static.cnbetacdn.com/article/2020/0713/d0599fe18376c0c.png";s:8:"original";a:2:{i:0;s:74:"[URL='https://static.cnbetacdn.com/article/2020/0713/d0599fe18376c0c.png']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:96:"https://rdimg.com/proxy/https://static.cnbetacdn.com/thumb/article/2020/0713/d0599fe18376c0c.png";}}}}}}i:7;s:2:"
";i:8;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:3:{i:0;s:53:"由于没有看到适用于 Alder Lake 的 AVX-512,";i:1;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:69:"https://www.realworldtech.com/forum/?threadid=193189&curpostid=193190";s:8:"original";a:2:{i:0;s:77:"[URL='https://www.realworldtech.com/forum/?threadid=193189&curpostid=193190']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:21:"Linus Torvalds 评论";}}i:2;s:3:"道";}}i:9;s:2:"
";i:10;a:4:{s:3:"tag";s:6:"indent";s:6:"option";N;s:8:"original";a:2:{i:0;s:8:"[INDENT]";i:1;s:9:"[/INDENT]";}s:8:"children";a:1:{i:0;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:17:{i:0;s:1:"
";i:1;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:1:{i:0;s:184:"我希望 AVX512 痛苦地死去(dies a painful death),我希望英特尔能够解决真正的问题,而不是试图创建神奇的指令,从而换取好看的基准跑分。";}}i:2;s:2:"
";i:3;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:1:{i:0;s:179:"我希望英特尔能够回归到问题的本质:让进程重新运转起来,更专注于常规代码的改善,而不是 HPC 或者其他一些毫无意义的特殊情况。";}}i:4;s:2:"
";i:5;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:1:{i:0;s:285:"我以前就说过,现在我再强调一遍:在 x86 的全盛时代,在英特尔傲视群雄并碾压所有竞争对手的时候,其他所有人在FP负载上的优化都要比英特尔做的更好。相对而言,英特尔的FP性能是最烂的,而这一点都不重要。";}}i:6;s:2:"
";i:7;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:1:{i:0;s:45:"因为没有人在乎性能之外的东西。";}}i:8;s:2:"
";i:9;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:1:{i:0;s:230:"无论是现在还是未来,对于 AVX512 来说都是相同的道理。没错,你可以根据优先级对关注点进行排序,但是从宏观意义上来说这些东西对于设备的销售并不会产生太大的影响。";}}i:10;s:2:"
";i:11;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:3:{i:0;s:187:"而且 AVX512 还有一个致命的缺点。我更愿意看到那些晶体管预算用在其他更相关的事情上。哪怕还是FP数学(在GPU中,而不是AVX512)。或者就像";i:1;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:77:"https://c.duomai.com/track.php?site_id=242986&euid=&t=https://amd-cpu.jd.com/";s:8:"original";a:2:{i:0;s:85:"[URL='https://c.duomai.com/track.php?site_id=242986&euid=&t=https://amd-cpu.jd.com/']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:3:"AMD";}}i:2;s:101:"那样给我更多的核心(具有良好的单线程性能,但没有 AVX512 那样的垃圾)。";}}i:12;s:2:"
";i:13;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:1:{i:0;s:254:"我希望我的功耗极限是通过普通的线性代码实现的,而不是通过什么 AVX512 的功耗病毒,来牺牲最高时钟频率(因为最后用它来做memcpy)或者牺牲核心(因为那些无用的垃圾单元占据了空间)。";}}i:14;s:2:"
";i:15;a:4:{s:3:"tag";s:4:"left";s:6:"option";N;s:8:"original";a:2:{i:0;s:6:"[LEFT]";i:1;s:7:"[/LEFT]";}s:8:"children";a:1:{i:0;s:305:"没错,我对 AVX512 是存在偏见的。我更倾向于 FP 基准,而我也意识到很多人也很在意这个。我只是认为 AVX512 是错误的做法。这是我的一个小癖好。这是一个典型的例子,说明英特尔做错了什么,部分原因只是增加了市场的碎片化。";}}i:16;s:1:"
";}}}}}, 1621686945, 1714358928
Run Time: 0.000896