Xyber Nova

Results 18 comments of Xyber Nova

> 这一部分内容和 OI 的关系可能有点过小了? 首先 OI 根本不能用 Python 答题, 其次如果是打表的话, 如果是性能敏感的打表那么从一开始就写 C++ 大概率能跑出更多数据. 再次如果是作为脚本跑对拍的话, 作为一个胶水语言并不需要关心它的实际性能. > > 以及 [OI Wiki 不是编程语言文档](https://oi.wiki/intro/what-oi-wiki-is-not/#oi-wiki-%E4%B8%8D%E6%98%AF%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E7%9A%84%E6%96%87%E6%A1%A3%E5%92%8C%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97) CCF GESP等认证、比赛是可以采用Python答题的,本PR主要是为了服务于GESP等比赛的Python组选手。 ![image](https://github.com/OI-wiki/OI-wiki/assets/117142071/18c5e6aa-c21b-409b-a13b-c184a2296aa1) 您提到的**OI Wiki 不是编程语言的文档和学习指南**中提到了”出于知识收录需要,OI Wiki 可以收录编程竞赛常用语言的简单使用指南。“,个人认为对于Python的性能调优应当也属于”简单使用指南“的范畴。

五级以上才涉及(雾 ![image](https://github.com/OI-wiki/OI-wiki/assets/117142071/8c6c768c-099b-4922-9642-1c6dda36d97b)

实在不行可以性能优化部分删了吧,反正我感觉写的也有点冗长了🤔 但是递归限制这方面个人觉得可以加上去(分治、DFS、BFS等算法用得到)

> > 但是递归限制这方面个人觉得可以加上去(分治、DFS、BFS等算法用得到) > > 这方面的话, 感觉需要谨慎一些写? 因为 Python 的栈帧挺大的, 默认限制递归层数还是比较有道理的? 随便解禁不一定合适也不一定能达到预期目的 3000感觉某些情况还是不不够,而且这个限制是CPython解释器里定义的,和CPP的操作系统定义不同。而且也不符合正式比赛中“程序实际可用栈空间与题目内存限制相同”的描述 [开大栈](https://oi-wiki.org/tools/editor/devcpp/#%E5%BC%80%E5%A4%A7%E6%A0%88)中也提到了Windows上解除CPP栈限制的方法

> > 这个限制是CPython解释器里定义的,和CPP的操作系统定义不同。 > > 我完全理解这个问题, 但我的疑问和 C++ 是无关的. 我的意思是您是否完全理解这样做所产生的所有影响以及是否完全理解这样做能否达到预期目的( > > 比如在 Python 的栈帧远大于 C++ 的情形下直接增大递归限制会对性能以及资源消耗产生什么影响( 可以确认起码不会导致RE等情况,因为Python的调用栈本质是一个由Frame组成的链表,跟操作系统的调用栈无关。 而且评测都是在NOI Linux上跑的,CPython解释器的可用栈空间本来就等于题目内存限制 至于对资源占用的影响,我明天去洛谷上用Python写几个DFS、分治的题看看吧

我在洛谷[P1164](https://www.luogu.com.cn/problem/P1164)上测试了一下,没有发现对系统的性能影响(朴素的DFS解法,没有用记忆化搜索) 以下是评测记录: [未解递归限制](https://www.luogu.com.cn/record/157934390) [解除递归限制](https://www.luogu.com.cn/record/157934721)

Python在不同平台的递归限制好像不同([pystate.h#L202](https://github.com/python/cpython/blob/42dc5b4ace39a3983cd9853719527f4724693adc/Include/cpython/pystate.h#L202)),我改了一下

Ok, I'll do that. Thank you for us

> 完整log > > Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/mirai/utils.py", line 20, in async_with_exception return await async_(obj) File "/usr/local/lib/python3.10/site-packages/mirai/utils.py", line 14, in async_ return (await obj) if inspect.isawaitable(obj) else...

> 难道不是吗?要是中共真想管国内每一个企业敢996,中共就是立了个法但又不去执行,任由劳动市场野蛮发展 你先分清中国政府和中共的区别。而且劳动法不是没在执行,而是执行不到位。