Cedric BAIL
d46f7e583e
* Optimize case for string length == 0 and 1.
...
* Add more debug information when using --enable-stringshare-usage.
SVN revision: 37239
2008-10-27 13:23:52 +00:00
Sebastian Dransfeld
b6ddfb54cf
Mark unused parameter with __UNUSED__
...
SVN revision: 37214
2008-10-27 09:49:13 +00:00
Carsten Haitzler
089b8ac181
add a stringshare dumper so we can examine what's in there and improve usage.
...
SVN revision: 37186
2008-10-27 00:36:22 +00:00
Vincent Torri
84dcc24d09
Fix compilation and warnings on Windows:
...
* include Evil.h for getenv on mingw32ce
* include config.h in benchmark.c so that EAPI is correctly defined
* minor fixes in configure.ac
SVN revision: 36729
2008-10-16 21:31:51 +00:00
Cedric BAIL
d905ee9bda
Add option to report stringshare usage (E17 use around 10000 differents strings).
...
SVN revision: 36658
2008-10-14 15:32:57 +00:00
Cedric BAIL
ed012620d1
Fix stringshare bug with same length.
...
SVN revision: 36657
2008-10-14 15:31:45 +00:00
Cedric BAIL
0bc2413113
Fix prev pointer during stringshare_del.
...
SVN revision: 36319
2008-09-29 17:07:50 +00:00
Cedric BAIL
040e5573d9
Patch from Arnaud de Turckheim "quarium" <quarium@gmail.com>.
...
Use magic inside stringshare without slowdown of benchmark.
Fix magic when not in DEBUG mode.
SVN revision: 36246
2008-09-25 09:02:41 +00:00
Cedric BAIL
550ebc9ab1
Add hash and rbtree delete callback, cleanup the code and improve performance (hash as a new internal structure).
...
We still need a hash function for removing a node from the hash and destroying it at the same time.
SVN revision: 36222
2008-09-24 17:14:29 +00:00
Cedric BAIL
b00e9e5c64
Use rbtree helper.
...
SVN revision: 36208
2008-09-24 12:57:26 +00:00
Cedric BAIL
8acad8a50e
Add rbtree destructor without tree reorder and use it.
...
SVN revision: 36188
2008-09-23 16:07:48 +00:00
Cedric BAIL
f656fabac1
Make magical mask easily testable.
...
SVN revision: 36171
2008-09-22 14:45:57 +00:00
Cedric BAIL
d0871d7d7d
Eina stringshare now beat evas and ecore with this last change.
...
Benchmarking with enlightenment real data (25000 string add, 20 000 del) :
- eina: 4151399
- evas: 4286973
- ecore: 7753004
SVN revision: 36166
2008-09-22 13:11:08 +00:00
Cedric BAIL
d3e0b59223
Reduce number of malloc/free by automatically created one stringshare
...
per tree node.
SVN revision: 36165
2008-09-22 13:06:29 +00:00
Cedric BAIL
1726e80939
Use define.
...
SVN revision: 36159
2008-09-22 10:08:44 +00:00
Vincent Torri
f50feadeae
* add benchmark and file documentation
...
* reorganize a bit more. it's not finished
* fix spellingg and formatting
* gnuplot file names generated by our bechmarks tests have an
absolute time description and not H:M:S description, as this
breaks the check out of the repo on Windows.
SVN revision: 36090
2008-09-19 05:22:43 +00:00
Vincent Torri
54de28cc68
* add doc for counter and convert modules
...
* minor spelling, formatting and doxygen fixes
SVN revision: 36057
2008-09-17 18:55:54 +00:00
Vincent Torri
7fd7cc717c
* update the doc of stringshre
...
* fix minor warnings from doxygen
SVN revision: 36004
2008-09-15 19:58:36 +00:00
Cedric BAIL
e3e2afca18
Don't compute string length when not really needed.
...
SVN revision: 36001
2008-09-15 13:38:42 +00:00
Cedric BAIL
1582d52c3c
New stringshare implementation.
...
We use 256 buckets with a rbtree per bucket. The key of rbtree is the hash
on 12bits and each node of the rbtree have a list of string.
Thanks to Gustavo and Vincent for their help.
SVN revision: 36000
2008-09-15 12:54:54 +00:00
Cedric BAIL
9638ded27f
Fix initialisation logic.
...
SVN revision: 35806
2008-09-03 12:06:50 +00:00
Cedric BAIL
1f6ad61f54
Use memcmp as we know the size of both string.
...
SVN revision: 35740
2008-08-29 16:09:39 +00:00
Cedric BAIL
6bbb9bf821
Remove useless indirection and useless tests.
...
SVN revision: 35733
2008-08-29 13:52:16 +00:00
Cedric BAIL
67f3ddfb7a
Move private function in the right part of the file.
...
SVN revision: 35729
2008-08-29 09:34:39 +00:00
Cedric BAIL
3e562ccfc2
Add a context to the callback.
...
SVN revision: 35719
2008-08-28 16:33:40 +00:00
Cedric BAIL
3a10b7f782
Use rbtree instead of inlist. It's way faster.
...
SVN revision: 35715
2008-08-28 14:27:43 +00:00
Vincent Torri
dafd079639
* move standard header files from eina_private.h to source files
...
* minor formatting
SVN revision: 35705
2008-08-28 07:46:42 +00:00
doursse
bbf9b05530
fix doxy doc
...
SVN revision: 35416
2008-08-09 05:47:15 +00:00
Cedric BAIL
44e3c73e19
After benchmarking, the superfast hash function does impact performance
...
as it better spread data in the hash table.
SVN revision: 35412
2008-08-08 16:07:32 +00:00
Cedric BAIL
ddaa7d4d8f
License changes (BSD -> LGPL)
...
SVN revision: 35360
2008-08-06 18:15:24 +00:00
Cedric BAIL
d8ee8aee6c
Fix eina_stringshare_shutdown to return value like all eine shutdown funtion.
...
Cleanup hash function call.
SVN revision: 35352
2008-08-06 15:49:50 +00:00
Cedric BAIL
2098318e35
As we use eina_error, we should init/shutdown it properly.
...
SVN revision: 35297
2008-08-01 14:23:54 +00:00
Cedric BAIL
67d2b46784
Fix and improvement for stringshare and array, thanks to the tests suite.
...
SVN revision: 35288
2008-08-01 12:26:35 +00:00
Sebastian Dransfeld
fa1cf1962c
typo
...
SVN revision: 35259
2008-07-30 17:29:11 +00:00
Peter Wehrfritz
0eefad12bd
- add init() and shutdown() functions
...
- add doxy
SVN revision: 35256
2008-07-30 14:42:37 +00:00
Cedric BAIL
6e74d01030
Adding stringshare from evas inside eina.
...
SVN revision: 35249
2008-07-30 13:05:13 +00:00