Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【建议】文档及设计更规范一点! #9

Open
CodingOctocat opened this issue Aug 17, 2015 · 5 comments
Open

【建议】文档及设计更规范一点! #9

CodingOctocat opened this issue Aug 17, 2015 · 5 comments

Comments

@CodingOctocat
Copy link

①一个小细节了,也可能是 Ivony 的个人习惯,所有的文档都不以句号(。)结尾,部分英文没有使用空格分隔,显得奇怪。
②一些成员应该设计成属性比较合理,但却设计成了方法(虽然属性本质上就是方法=_=),比如 InnerText() 设计成属性会更好,便于使用。

@Ivony
Copy link
Owner

Ivony commented Aug 26, 2015

InnerText是有非常强大的副作用的方法(扫描所有子元素)。

@nagasun
Copy link

nagasun commented Aug 26, 2015

可以设置内部缓存, 当发生内容赋值的时候向上清除缓存

@CodingOctocat
Copy link
Author

因为习惯了 HtmlAgilityPack,所以每次调用诸如 InnerText 时都会忘记加括号。

@Ivony
Copy link
Owner

Ivony commented Aug 31, 2015

事实上在一些未来分支里面是有尝试缓存的,但是无论如何缓存的刷新仍然不可避免的会带来性能问题,尤其是频繁大量的的修改操作,如果InnerText操作相对较少,反而不缓存能带来性能优势。

@nagasun
Copy link

nagasun commented Aug 31, 2015

Ivony可能有点陷入性能问题的纠结中了,
客观的来说, 对性能有特别苛刻要求的环境下, 是不会使用Jumony这样的HTML结构分析器的, 而是会直接使用文字处理或者正则, 甚至是异步的获取信息缓存后使用.

对于一个模板引擎来说, 性能也绝不是Ivony的优点和卖点,

使用Ivony的环境, 大致有两类

一类是多线程任务方式运行的爬虫系统, 这类系统本身的设计就是"让他慢慢获取数据, 获取好了我再拿来用", 所以性能不是重点, 重点是用起来方便, 免去开发人员写大量复杂正则的工作.

另外一类是生成静态HTML的需求, 这类需求本身就应该被设计成异步的. 性能也不是重点.

如果存在第三类用Jumony来实时渲染模板输出到浏览器的应用, 那要么可以说它用错了场景, 要么就是项目的并发压力很小, 完全不必担心模板引擎的性能扯后腿.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants