penguinWWY 最近的时间轴更新
penguinWWY

penguinWWY

V2EX 第 457444 号会员,加入于 2019-12-04 20:20:43 +08:00
发一个看起来没啥用的字节码编辑库
Python  •  penguinWWY  •  183 天前  •  最后回复来自 v2exblog
4
Python 版魔法练习
Python  •  penguinWWY  •  319 天前  •  最后回复来自 icbmicbm
2
我又来了,真招 Python
酷工作  •  penguinWWY  •  2022-01-07 15:26:06 PM  •  最后回复来自 garvan
13
有没有人想搞 Python 呀,无聊水个 JD
酷工作  •  penguinWWY  •  2021-11-01 10:03:59 AM  •  最后回复来自 penguinWWY
32
蚂蚁程序分析硬核技术团队春招氵
  •  1   
    酷工作  •  penguinWWY  •  2021-03-04 11:47:56 AM  •  最后回复来自 boyxy120
    2
    有点硬核的工作来了
    酷工作  •  penguinWWY  •  2020-03-25 16:05:21 PM  •  最后回复来自 la2la
    4
    推荐几个代码检查工具
  •  1   
    程序员  •  penguinWWY  •  2020-03-21 12:03:25 PM  •  最后回复来自 penguinWWY
    11
    penguinWWY 最近回复了
    个人最喜欢用的是 py-spy
    43 天前
    回复了 chinesehuazhou 创建的主题 Python Python 为什么如此设计?
    不少都是强行找理由
    某些问题就是设计的菜或者个人口味问题
    46 天前
    回复了 ClericPy 创建的主题 Python 没人讨论下最近热门的 Codon 和 socketify.py 么
    @learningman 需要环境变量 CODON_PYTHON ,用来指定 libpython
    47 天前
    回复了 ClericPy 创建的主题 Python 没人讨论下最近热门的 Codon 和 socketify.py 么
    看了下 Codon 的实现,目前只能算是个玩具
    这个思路有点像前几年在 js 上做 Code smells and type analysis —— 只要用户写出非常易于优化的代码,我就可以优化的非常好。
    82 天前
    回复了 kelvin_fly 创建的主题 职场话题 把每个月的工资当最后的一次工资
    @XVXVXXX 这个回家,莫名觉得很有气势
    124 天前
    回复了 andyJado 创建的主题 程序员 非 CS, 想弄弄编译, 还啃龙书吗?
    啃龙书没啥意义。
    如果你想整体了解编译,不要在 parser 上浪费时间,parser 是一个非常“符合直觉”的事情,本质上就是如何把一段文本变成结构化的数据,所以不要被各种名词唬住,自己写一个简单的表达式解析器,就能大概明白了。同时 parser 在整个编译过程中只占了很小的一部分,基本没啥值得关注的东西。

    编译整体看是一个不断 lower ( desuger )的过程,用简单代替复杂,具体代替抽象。所以整体看的话,你需要大概了解一下体系结构和指令集,也就是编译的终点是什么样的。中间的过程不管是 AST 也好,IR 也好,no-target machine code 还是 target machine code ,从认知上来讲,都不是必须的(你完全可以设计一个非常简单的表达式语言,然后直接翻译成汇编指令),这些步骤只是为了满足某种需求( native code or Interpreter ? JIT or AOT ? interprocedural or intraprocedural ?)而增加的、便于使用的中间层。

    明确输入(语言、特性、功能)和输出(目标指令集),剩下的就是取舍和拼接。现在编译体系复杂之处在于为了某些目标(性能、功能、复杂的语言特性)而在不同层次间不得不产生耦合,使用某些约定(而不是设计)。当这种情况越多,原本清晰的结构就会变成一坨。。。
    146 天前
    回复了 ResistanceTo 创建的主题 Python 切实有需求的点子
    写新的 test ,或者写一些方便 debug 、处理日志的小脚本
    list 生命周期结束的时候会调用 list_dealloc 函数,但并不会立即释放内存。而是存放在对应的 free list 中,如果有新的大小合适的 list 生成则会直接使用,减少内存分配和释放的消耗。

    print(id([])); print(id([]))

    两次分配的 list 是同一个指针,所以 id 相同。debug 模式是通过 trace 实现的,中间有别的 list 生成(或释放),所以没有使用到同一个指针,id 不同
    183 天前
    回复了 penguinWWY 创建的主题 Python 发一个看起来没啥用的字节码编辑库
    183 天前
    回复了 penguinWWY 创建的主题 Python 发一个看起来没啥用的字节码编辑库
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   3873 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:02 · PVG 10:02 · LAX 18:02 · JFK 21:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.