up coming (WIP) features: cache to disk, with a bonus

43 views
Skip to first unread message

Xuefer[mOo]

unread,
Nov 9, 2013, 4:22:59 AM11/9/13
to xca...@googlegroups.com
=== XCache active branches overview
both 3.2.0 and 4.0.0 milestone is open

3.1.x is still keep for stability bug fixes. the new branch 3.2.0 focus on some small features that don't affect large code change, while 4.0.0 do features that might need code refactor, and may impact stability.
The passion is spent on 4.0 than 3.2, for now it's about "cache to disk" feature which is still work in progress. Lot of changes are already made into trunk
Let's hope XCache is the first one to implementation cache to disk and possibly encoder/decoder for 5.5 (or we can fake encoder/decode using "cache to disk")

=== Cache to disk is not encoder/decoder(or you can say loader)
the differences from the view of implementation are: the resulting file of cache to disk cannot be use on another arch ABI with different endian, different word size, while encoder/decoder might allow it to some extent. cache to disk copy everything as is to disk while encoder take care of every data (element of struct) 1 by 1
the difference from the view of end user is: cache to disk is used automatically online, while encoder comes with tools, manually used offline

=== How does XCache get "cache to disk" feature done?
FIN: relocate every pointer to new location (offset from a virtual address 0 if needed)
WIP: save it to disk
WIP: restore it later (and relocate it before using)
WIP: adds settings for enable/disable, GC
WIP: adds admin API/UI need to be updated to manage

=== Bonus?
The amazing bonus feature you might never thought of is, since we have the new processor "relocate", We can defrag the memory cache
WIP: defrag using relocate processor
WIP: make it compatible with readonly_protection
WIP: admin API, admin UI

If you have your cached PHP updated periodly, you might see a lot of fragment holes (noncontinuous free blocks) that are too small to fit new cache items in, meaning the memory was wasted. Worry no more with defrag feature
XCache could be the first and possibly the only one ever to support defrag feature

=== What about other features?
I'm not sure if I can take your vote on most needed features. But patches are always welcome
XCache devel take a lot of time, need really a lot of thinking get achieve good quality. It is done alone with passion that can't be spent everywhere. You can support XCache by donating to phpx...@gmail.com via paypal
Reply all
Reply to author
Forward
0 new messages