From: ara.t.howard@... Date: 2007-02-10T12:01:15+09:00 Subject: Re: [ANN Rinda::SQLiteSpace] [WAS] Re: TupleSpace performance (TupleBag really) ---1400102478-396630387-1171076460=:18133 Content-Type: MULTIPART/MIXED; BOUNDARY="-1400102478-396630387-1171076460=:18133" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1400102478-396630387-1171076460=:18133 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Sat, 10 Feb 2007, Bob Hutchison wrote: > > On 9-Feb-07, at 7:04 PM, ara.t.howard@noaa.gov wrote: > >> On Thu, 8 Feb 2007, Eric Hodel wrote: >> >>> >>> I've heard a few people talk of it (mainly, TupleSpace with a persistence >>> (database)), but to my knowledge nobody's done it. >>> >> >> i have. if people like it, i'll release next week. > > What version/implementation of sqlite are you using? give this one a whirl... -a -- we can deny everything, except that we have the possibility of being better. simply reflect on that. - the dalai lama ---1400102478-396630387-1171076460=:18133 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=sqlitespace.rb Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=sqlitespace.rb cmVxdWlyZSAnbW9uaXRvcicNCnJlcXVpcmUgJ3RocmVhZCcNCnJlcXVpcmUg J2RyYi9kcmInDQpyZXF1aXJlICdyaW5kYS9yaW5kYScNCnJlcXVpcmUgJ3Jp bmRhL3R1cGxlc3BhY2UnDQoNCnJlcXVpcmUgJ2ZpbGV1dGlscycNCnJlcXVp cmUgJ2Jhc2U2NCcNCg0KYmVnaW4NCiAgcmVxdWlyZSAncnVieWdlbXMnDQpy ZXNjdWUgTG9hZEVycm9yDQogIDQyDQplbmQNCg0KcmVxdWlyZSAnc3FsaXRl JyAjIGdlbSBpbnN0YWxsIHNxbGl0ZQ0KcmVxdWlyZSAnYXJyYXlmaWVsZHMn ICMgZ2VtIGluc3RhbGwgYXJyYXlmaWVsZHMNCg0KbW9kdWxlIFJpbmRhDQog IFNRTEV4Y2VwdGlvbiA9IA0KICAgIGlmIFNRTGl0ZS5jb25zdF9kZWZpbmVk PyAnRXhjZXB0aW9ucycNCiAgICAgIFNRTGl0ZS5jb25zdF9nZXQgJ0V4Y2Vw dGlvbnMnDQogICAgZWxzZQ0KICAgICAgU1FMaXRlDQogICAgZW5kLmNvbnN0 X2dldCAnU1FMRXhjZXB0aW9uJw0KDQogIGNsYXNzIFNRTGl0ZVNwYWNlIDwg OjpSaW5kYTo6VHVwbGVTcGFjZQ0KICAgIGRlZiBpbml0aWFsaXplKHRpbWVv dXQ9NjAsIHByZWZpeD1ob21lX2RpcikNCiAgICAgIHN1cGVyKCkNCiAgICBl bnN1cmUNCiAgICAgIHNldHVwIHByZWZpeA0KICAgIGVuZA0KDQogICAgJXdb IHByZWZpeCBkaXIgYmFnIHJlYWRfd2FpdGVyIHRha2Vfd2FpdGVyIG5vdGlm eV93YWl0ZXIgXS5lYWNoe3xhfCBhdHRyIGF9DQoNCiAgICBkZWYgc2V0dXAo cHJlZml4PWhvbWVfZGlyKQ0KICAgICAgQHByZWZpeCA9IHByZWZpeA0KICAg ICAgRmlsZVV0aWxzLm1rZGlyX3AgQHByZWZpeA0KICAgICAgQGRpciA9IEZp bGUuam9pbiBAcHJlZml4LCAnc3FsaXRlc3BhY2UnDQogICAgICBGaWxlVXRp bHMubWtkaXJfcCBAZGlyDQoNCiAgICAgIEBiYWcgPSBTUUxpdGVCYWcubmV3 IEZpbGUuam9pbihAZGlyLCAnYmFnJykgDQogICAgICBAcmVhZF93YWl0ZXIg PSBTUUxpdGVCYWcubmV3IEZpbGUuam9pbihAZGlyLCAncmVhZF93YWl0ZXIn KQ0KICAgICAgQHRha2Vfd2FpdGVyID0gU1FMaXRlQmFnLm5ldyBGaWxlLmpv aW4oQGRpciwgJ3Rha2Vfd2F0aWVyJykNCiAgICAgIEBub3RpZnlfd2FpdGVy ID0gU1FMaXRlQmFnLm5ldyBGaWxlLmpvaW4oQGRpciwgJ25vdGlmeV93YXRp ZXInKQ0KICAgIGVuZA0KDQogICAgZGVmIHRyYW5zYWN0aW9uICphLCAmYg0K ICAgICAgQGJhZy50cmFuc2FjdGlvbnsNCiAgICAgICAgQHJlYWRfd2FpdGVy LnRyYW5zYWN0aW9uew0KICAgICAgICAgIEB0YWtlX3dhaXRlci50cmFuc2Fj dGlvbnsNCiAgICAgICAgICAgIEBub3RpZnlfd2FpdGVyLnRyYW5zYWN0aW9u ew0KICAgICAgICAgICAgICBpbnN0YW5jZV9ldmFsICZiDQogICAgICAgICAg ICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgZW5k DQoNCiAgICBkZWYgaG9tZV9kaXIgDQogICAgICBFTlZbJ0hPTUUnXSB8fCBF TlZbJ1VTRVJQUk9GSUxFJ10gICMgKm5peCB8fCB3aW5ibG93cw0KICAgIGVu ZA0KICBlbmQNCg0KICBjbGFzcyBTUUxpdGVCYWcNCiAgICAld1sgcGF0aCBk YiBdLmVhY2h7fGF8IGF0dHIgYX0NCg0KICAgIGRlZiBpbml0aWFsaXplIHBh dGgNCiAgICAgIEBwYXRoID0gcGF0aA0KICAgICAgQGRiID0gREIubmV3IHBh dGggDQogICAgZW5kDQoNCiAgICAldyggcHVzaCBkZWxldGUgZmluZF9hbGwg ZmluZCBmaW5kX2FsbF90ZW1wbGF0ZSBkZWxldGUgdHJhbnNhY3Rpb24gKS5l YWNoIGRvIHxtfA0KICAgICAgbW9kdWxlX2V2YWwgPDwtY29kZQ0KICAgICAg ICBkZWYgI3sgbSB9ICphLCAmYg0KICAgICAgICAgIEBkYi4jeyBtIH0gKmEs ICZiDQogICAgICAgIGVuZA0KICAgICAgY29kZQ0KICAgIGVuZA0KDQogICAg Y2xhc3MgREINCiAgICAgIFNDSEVNQSA9IDw8LVNRTA0KICAgICAgICBjcmVh dGUgdGFibGUgYmFnKA0KICAgICAgICAgIGlkIGludGVnZXIgcHJpbWFyeSBr ZXksDQogICAgICAgICAgc2l6ZSBpbnRlZ2VyLA0KICAgICAgICAgIGJsb2Jz aXplIGludGVnZXIsDQogICAgICAgICAgYmxvYiBibG9iDQogICAgICAgICkN CiAgICAgIFNRTA0KDQogICAgICAld1sgcGF0aCBkYiBpbl90cmFuc2FjdGlv biBdLmVhY2h7fGF8IGF0dHIgYX0NCg0KICAgICAgZGVmIGluaXRpYWxpemUg cGF0aA0KICAgICAgICBAcGF0aCA9IHBhdGgNCiAgICAgICAgQHNjaGVtYSA9 IEZpbGUuam9pbiBwYXRoLCAnU0NIRU1BJw0KICAgICAgICBAZGIgPSA6OlNR TGl0ZTo6RGF0YWJhc2UubmV3KHBhdGgpIHJlc2N1ZSA6OlNRTGl0ZTo6RGF0 YWJhc2UubmV3KHBhdGgsMCkNCiAgICAgICAgQGRiLnVzZV9hcnJheSA9IHRy dWUgaWYgQGRiLnJlc3BvbmRfdG8/ICd1c2VfYXJyYXknDQogICAgICAgIEBp bl90cmFuc2FjdGlvbiA9IGZhbHNlDQogICAgICAgIHNldHVwIHVubGVzcyB0 ZXN0ID9lLCBAc2NoZW1hDQogICAgICBlbmQNCg0KICAgICAgZGVmIHNldHVw DQogICAgICAgIGJlZ2luDQogICAgICAgICAgQGRiLmV4ZWN1dGUoU0NIRU1B KXt9DQogICAgICAgICAgRmlsZS5vcGVuKEBzY2hlbWEpe3xmfCBmLndyaXRl IFNDSEVNQX0NCiAgICAgICAgcmVzY3VlIFNRTEV4Y2VwdGlvbiA9PiBlDQog ICAgICAgICAgNDINCiAgICAgICAgZW5kDQogICAgICBlbmQNCg0KICAgICMN CiAgICAjIGZvciBvbGRlciBydWJ5cw0KICAgICMNCiAgICAgIGJlZ2luDQog ICAgICAgIEJhc2U2NA0KICAgICAgICBkZWYgZW5jb2RlNjQgYmxvYiANCiAg ICAgICAgICBCYXNlNjQuZW5jb2RlNjQgYmxvYg0KICAgICAgICBlbmQNCiAg ICAgICAgZGVmIGRlY29kZTY0IGJsb2IgDQogICAgICAgICAgQmFzZTY0LmRl Y29kZTY0IGJsb2INCiAgICAgICAgZW5kDQogICAgICByZXNjdWUgTmFtZUVy cm9yDQogICAgICBlbmQNCg0KICAgICMNCiAgICAjIGhhbmRsZXMgRFJiVW5k dW1wZWQgZmVhdHVyZSBvZiBSaW5kYTo6VHVwbGVFbnRyeSBjbGFzcyBzbyB0 aGV5IGNhbiBiZQ0KICAgICMgc2VyaWFsaXplZA0KICAgICMNCiAgICAgIGRl ZiBlbmNvZGUgb2JqDQogICAgICAgIGRhdGEgPSBbb2JqLmNsYXNzXQ0KICAg ICAgICBvYmouaW5zdGFuY2VfdmFyaWFibGVzLmVhY2ggZG8gfGl2YXJ8DQog ICAgICAgICAgdmFsdWUgPSBvYmouaW5zdGFuY2VfdmFyaWFibGVfZ2V0IGl2 YXINCiAgICAgICAgICBkYXRhIDw8IFtpdmFyLCB2YWx1ZV0NCiAgICAgICAg ZW5kDQogICAgICAgIGJsb2IgPSBlbmNvZGU2NChNYXJzaGFsLmR1bXAoZGF0 YSkpDQogICAgICBlbmQNCiAgICAjDQogICAgIyBoYW5kbGVzIERSYlVuZHVt cGVkIGZlYXR1cmUgb2YgUmluZGE6OlR1cGxlRW50cnkgY2xhc3MNCiAgICAj DQogICAgICBkZWYgZGVjb2RlIGJsb2INCiAgICAgICAgZGF0YSA9IE1hcnNo YWwubG9hZChkZWNvZGU2NChibG9iKSkNCiAgICAgICAga2xhc3MgPSBkYXRh LnNoaWZ0DQogICAgICAgIG9iaiA9IGtsYXNzLmFsbG9jYXRlDQogICAgICAg IGRhdGEuZWFjaHt8aXZhciwgdmFsdWV8IG9iai5pbnN0YW5jZV92YXJpYWJs ZV9zZXQgaXZhciwgdmFsdWV9DQogICAgICAgIG9iag0KICAgICAgZW5kDQoN CiAgICAgIGRlZiBleGVjdXRlICphLCAmYg0KICAgICAgICBAZGIuZXhlY3V0 ZSAqYSwgJmINCiAgICAgIGVuZA0KDQogICAgICBkZWYgdHJhbnNhY3Rpb24g KmEsICZiDQogICAgICAgIHJhaXNlICduZXN0ZWQgdHJhbnNhY3Rpb24nIGlm IEBpbl90cmFuc2FjdGlvbg0KICAgICAgICBiZWdpbg0KICAgICAgICAgIEBk Yi5leGVjdXRlICdiZWdpbiB0cmFuc2FjdGlvbicNCiAgICAgICAgICBAaW5f dHJhbnNhY3Rpb24gPSB0cnVlDQogICAgICAgICAgeWllbGQNCiAgICAgICAg ZW5zdXJlDQogICAgICAgICAgQGRiLmV4ZWN1dGUgJ2VuZCB0cmFuc2FjdGlv bicNCiAgICAgICAgICBAaW5fdHJhbnNhY3Rpb24gPSBmYWxzZQ0KICAgICAg ICBlbmQNCiAgICAgIGVuZA0KDQogICAgICBkZWYgcHVzaChhcnkpDQogICAg ICAgIHNpemUgPSBhcnkuc2l6ZQ0KICAgICAgICBibG9iID0gZW5jb2RlIGFy eQ0KICAgICAgICBibG9ic2l6ZSA9IGJsb2Iuc2l6ZQ0KICAgICAgICBAZGIu ZXhlY3V0ZSAiaW5zZXJ0IGludG8gYmFnIHZhbHVlcyhudWxsLCAjeyBzaXpl IH0sICN7IGJsb2Iuc2l6ZSB9LCAnI3sgYmxvYiB9JykiDQogICAgICBlbmQN CiAgICAgIA0KICAgICAgZGVmIGRlbGV0ZShhcnkpDQogICAgICAgIHNpemUg PSBhcnkuc2l6ZQ0KICAgICAgICBibG9iID0gZW5jb2RlIGFyeQ0KICAgICAg ICBibG9ic2l6ZSA9IGJsb2Iuc2l6ZQ0KICAgICAgICBAZGIuZXhlY3V0ZSAi ZGVsZXRlIGZyb20gYmFnIHdoZXJlIHNpemU9I3sgc2l6ZSB9IGFuZCBibG9i c2l6ZT0jeyBibG9ic2l6ZSB9IGFuZCBibG9iPScjeyBibG9iIH0nIg0KICAg ICAgZW5kDQoNCiAgICAgIGRlZiBmaW5kX2FsbCh0ZW1wbGF0ZSwgbGltaXQ9 bmlsLCAmYmxvY2spDQogICAgICAgIHRlbXBsYXRlPSBSaW5kYTo6VGVtcGxh dGVFbnRyeS5uZXcoQXJyYXkubmV3KHRlbXBsYXRlKSkgaWYgTnVtZXJpYyA9 PT0gdGVtcGxhdGUNCiAgICAgICAgc2l6ZSA9IHRlbXBsYXRlLnNpemUNCiAg ICAgICAgYWxsID0gW10NCiAgICAgICAgQGRiLmV4ZWN1dGUgInNlbGVjdCBi bG9iIGZyb20gYmFnIHdoZXJlIHNpemU9I3sgc2l6ZSB9ICN7IGxpbWl0ID8g KCdsaW1pdD0lZCcgJSBsaW1pdCkgOiAnJyB9IiBkbyB8dHVwbGV8DQogICAg ICAgICAgYmxvYiA9IHR1cGxlWydibG9iJ10NCiAgICAgICAgICB0ID0gZGVj b2RlIGJsb2INCiAgICAgICAgICBpZiB0LmFsaXZlPyAmJiB0ZW1wbGF0ZS5t YXRjaCh0KQ0KICAgICAgICAgICAgYmxvY2sgPyBibG9ja1t0XSA6IChhbGwg PDwgdCkNCiAgICAgICAgICBlbmQNCiAgICAgICAgZW5kDQogICAgICAgIGJs b2NrID8gbmlsIDogYWxsIA0KICAgICAgZW5kDQoNCiAgICAgIGRlZiBmaW5k KHRlbXBsYXRlLCBsaW1pdD0xLCAmYmxvY2spDQogICAgICAgIHJldCA9IGZp bmRfYWxsIHRlbXBsYXRlLCBsaW1pdA0KICAgICAgICBsaW1pdCA9PSAxID8g cmV0LmZpcnN0IDogcmV0DQogICAgICBlbmQNCg0KICAgICAgZGVmIGZpbmRf YWxsX3RlbXBsYXRlKHR1cGxlLCBsaW1pdD1uaWwsICZibG9jaykNCiAgICAg ICAgc2l6ZSA9IHR1cGxlLnNpemUNCiAgICAgICAgYWxsID0gW10NCiAgICAg ICAgQGRiLmV4ZWN1dGUgInNlbGVjdCBibG9iIGZyb20gYmFnIHdoZXJlIHNp emU9I3sgc2l6ZSB9ICN7IGxpbWl0ID8gKCdsaW1pdD0lZCcgJSBsaW1pdCkg OiAnJyB9IiBkbyB8dHVwbGV8DQogICAgICAgICAgYmxvYiA9IHR1cGxlWydi bG9iJ10NCiAgICAgICAgICB0ID0gZGVjb2RlIGJsb2INCiAgICAgICAgICBp ZiB0LmFsaXZlPyAmJiB0Lm1hdGNoKHR1cGxlKQ0KICAgICAgICAgICAgYmxv Y2sgPyBibG9ja1t0XSA6IChhbGwgPDwgdCkNCiAgICAgICAgICBlbmQNCiAg ICAgICAgZW5kDQogICAgICAgIGJsb2NrID8gbmlsIDogYWxsIA0KICAgICAg ZW5kDQoNCiAgICAgIGRlZiBkZWxldGVfdW5sZXNzX2FsaXZlDQogICAgICAg IGRlbGV0ZWQgPSBbXQ0KICAgICAgICBAZGIudHJhbnNhY3Rpb24gZG8NCiAg ICAgICAgICBmaW5kX2FsbCBkbyB8dHVwbGV8DQogICAgICAgICAgICB1bmxl c3MgdHVwbGUuYWxpdmU/DQogICAgICAgICAgICAgIGRlbGV0ZSB0dXBsZQ0K ICAgICAgICAgICAgICBkZWxldGVkIDw8IHR1cGxlDQogICAgICAgICAgICBl bmQNCiAgICAgICAgICBlbmQNCiAgICAgICAgZW5kDQogICAgICAgIGRlbGV0 ZWQNCiAgICAgIGVuZA0KICAgIGVuZA0KICBlbmQNCmVuZA0K ---1400102478-396630387-1171076460=:18133-- ---1400102478-396630387-1171076460=:18133--