He jumps right to features and benefits, and so is more succinct than I would have been. Its a good read. Plus, it saves me the trouble :)
A few comments:
- The EE (as the underlying engine of the OCP) is about supporting a more scalable, abstracted runtime environment. For example, a lot of design time went into versioning and deployment considerations, and a lot of thought went in to figuring out how to minimize service APIs.
There's a big difference between object-oriented or component development and the services model we're advocating in the OCP (which isn't necessarily fully reflected in all of our first generation services). - Although the EE provides native platform interop, we specifically limited how MUCH of the interop we exposed (feature wise) for two reasons: (1) to insure greater portabililty and less reliance on the underlying infrastructure (by portability, I even mean things like: we don't support any design patterns that only make sense in compiled lanuages vs. interpreted ones like Javascript), and (2) even more, to limit the number of design patterns we used in the construction/consumption of our services to make our APIs more consistent and learnable.
A rationale platform is more than just a collection of services. - One of the core guiding priniciples of the OCP is data driven design: factoring policy OUT of code - turning technology limitations into business and product choices, as they should be.
Who's your Daddy?
Completely unrelated to the EE, but if you read further down on JR's blog, you'll see that he discusses a coding contest some of us former hard-core coders had here at AOL a few weeks ago - as John notes, it wasn't anything official, just an informal challenge a small group of us conducted for one week (after hours, of course :)).
The challenge was to write a fast, efficient memory allocator for small blocks (1024 bytes or less), as compared to the Microsoft C common runtime (MSVCRT) and SmartHeap. We used both a custom test and the smart heap benchmark for comparison.
John goes into some more details in his post - I just wanted to point out that I was the winner :)
I'll post the code and benchmark harness at some point in the near future, but the scores (per the system JR mentions on his blog) were as follows:
Lower is better (names changed to protect the innocent):
- Sree Kotay 13584.3
- Bave Desbris 15652.2
- Rohn Jobinson 16378.4
- Mat Peenan 16709.2
- Microsoft CRT 52516.8
- Park Moesch [no show]
- Cave Dorboy [no show]
Justin Uberti kindly judged for us.
We couldn't benchmark smartheap entirely accurately (because it doesn't call our base allocator for memory efficiency measurement), but using the amount reported by the OS as a proxy, well, suffice it to say that it came out in middle of the pack, in both speed and efficiency.
So, in summation: NYAH NYAH NYAH hahah!!!! :P
5 comments:
Let's say, for the sake of argument, that I think I can do better. Is this competition open to third parties?
Heh. I'll post the benchmark shortly.
Asked, and answered.
VI设计
画册设计
血管瘤
肝血管瘤
音乐剧
福卡
防静电地板
美国留学
留学美国
电阻器
不锈钢电阻器
频敏电阻器
睡眠呼吸机
伟康呼吸机
呼吸机
无创呼吸机
家用呼吸机
呼吸机的使用
北京消化系统疾病
北京心脑血管疾病
北京肾病
北京中医儿科
北京针灸减肥
针灸减肥
北京糖尿病
北京疼痛病
北京类风湿
北京服务器托管
服务器托管
北京主机托管
会计师事务所
With this wow gold build, you'll wow gold want to keep buy wow gold your Ghoul and buy wow gold Bone Shield up cheap wow gold as much as cheap wow gold possible for world of warcrft gold the extra DPS. world of warcrft gold You can wow power leveling also use power leveling Corpse Explosion world of warcraft power leveling Unholy or Death
Post a Comment