Commit Graph

348 Commits

Author SHA1 Message Date
Carsten Haitzler 31727e370d actually compile!
SVN revision: 36849
2008-10-20 12:08:16 +00:00
Cedric BAIL 4953eb74fe Apps can now provide their own mempool.
SVN revision: 36847
2008-10-20 11:40:01 +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 03043eb74d Oops forgot this one.
SVN revision: 36690
2008-10-15 16:40:57 +00:00
Cedric BAIL 380120ce2a Should fix build outside of the source tree.
SVN revision: 36689
2008-10-15 16:23:14 +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 a61ba1c35a Fix some warning.
SVN revision: 36563
2008-10-10 09:33:40 +00:00
Cedric BAIL 5cddd1f760 Remove dead code.
SVN revision: 36493
2008-10-07 11:07:03 +00:00
Cedric BAIL d3ba8a9e2e Actually bench djb2 inline and not superfast hash function.
SVN revision: 36480
2008-10-06 14:48:13 +00:00
Cedric BAIL 195b2da188 Give more choice to eina_list mempool.
SVN revision: 36479
2008-10-06 14:47:09 +00:00
Cedric BAIL b158ab48ed Update hash benchmark to reflect E use (hash population under 2000, more find than add).
Current status :
 - same performance for evas, eina and glib with les than 500 items.
 - glib is then faster, eina/evas are second until 800.
 - glib remain the fastest, eina is second, and evas is starting to drop in performance.



SVN revision: 36476
2008-10-06 12:16:27 +00:00
Cedric BAIL 36b46ca065 Remove dead declaration.
SVN revision: 36399
2008-10-02 16:23:27 +00:00
Cedric BAIL 439401682d Reduce code size, and improve sort speed.
SVN revision: 36382
2008-10-01 16:30:30 +00:00
Cedric BAIL a44f814dd2 Using mempool improve cache locality and speed list manipulation like sort.
SVN revision: 36363
2008-09-30 16:48:28 +00:00
Cedric BAIL b1768c99e6 Make eina_error depend on no other sub module that need initialization.
SVN revision: 36361
2008-09-30 16:25:11 +00:00
Cedric BAIL 9ef4d6b65d Benchmark glib mempool too.
SVN revision: 36360
2008-09-30 15:07:35 +00:00
Cedric BAIL 9ffada517d Faster sort initialisation.
SVN revision: 36359
2008-09-30 14:16:18 +00:00
Cedric BAIL 3315d29c7f Fix chained mempool allocator.
SVN revision: 36355
2008-09-30 12:55:33 +00:00
Vincent Torri f9a4c97693 add a config.h
SVN revision: 36342
2008-09-30 06:16:41 +00:00
Vincent Torri bf372e44f9 when a .la file is passed to _LIBADD or _LDADD, automake
knows that the corresponding program or lib depends on
that .la file


SVN revision: 36322
2008-09-29 19:30:15 +00:00
Vincent Torri e88e4d5fb5 * fix warning in tests
* add config.h when needed
 * remove result/ dir before launching benchmark


SVN revision: 36321
2008-09-29 19:20:16 +00:00
Cedric BAIL 0bc2413113 Fix prev pointer during stringshare_del.
SVN revision: 36319
2008-09-29 17:07:50 +00:00
Cedric BAIL b6960f58b6 Patch from Vincent Torri that cleanup tests, coverage and benchmark.
SVN revision: 36315
2008-09-29 14:35:28 +00:00
Cedric BAIL 7c47066009 Change module API to use Eina_Array as we want to use mempool and module for Eina_List.
Fix at the same time a closing bug in eina_module.c.



SVN revision: 36312
2008-09-29 13:28:42 +00:00
Cedric BAIL 1620af2ae0 Add benchmark for mempool (chained_mempool is disabled, because it's currently buggy).
SVN revision: 36309
2008-09-29 09:45:26 +00:00
Cedric BAIL 93656a916a Fix initialization.
SVN revision: 36308
2008-09-29 09:43:37 +00:00
Cedric BAIL 3564707421 Fix initialization and cleanup.
SVN revision: 36307
2008-09-29 09:42:04 +00:00
Vincent Torri d6ae9053ad minor formatting
SVN revision: 36293
2008-09-28 13:10:08 +00:00
Vincent Torri 79375f9123 * fix clean and dist rules
* create eina-$(maj_version).pc.in file automatically


SVN revision: 36292
2008-09-28 12:43:21 +00:00
Cedric BAIL 2acd11a39e Add a new type of memory pool and factorize test code.
SVN revision: 36267
2008-09-26 15:27:46 +00:00
Cedric BAIL 8b33d245e6 Inlined functions require NULL, so including stdlib.h is required.
SVN revision: 36266
2008-09-26 15:26:36 +00:00
Cedric BAIL a466b34ea0 Faster sort from Alexandre Becoulet integrated by quarium inside eina.
SVN revision: 36265
2008-09-26 13:45:30 +00:00
Cedric BAIL 6f5b3584dd Store build information inside eina_config.h, and fix magic use.
SVN revision: 36263
2008-09-26 11:41:55 +00:00
Cedric BAIL 42d39725b4 Last part of quarium patch.
SVN revision: 36257
2008-09-25 14:46:48 +00:00
Cedric BAIL 8b85ce70d4 Patch from quarium.
Add magic to array and list.

Need to patch autotools to generate something like eina_config.h.



SVN revision: 36256
2008-09-25 14:46:16 +00:00
Cedric BAIL e8b25fb405 Add a sort benchmark.
SVN revision: 36250
2008-09-25 12:41:49 +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 4fddcc38df Fix error stuff.
SVN revision: 36225
2008-09-24 17:21:53 +00:00
Cedric BAIL 8072173d6e As evas use of hash is below 3000 items per hash, update the tests accordingly.
SVN revision: 36224
2008-09-24 17:20:24 +00:00
Cedric BAIL eec2db6edb Fix test due to mempool internal change.
SVN revision: 36223
2008-09-24 17:17:22 +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
Jorge Luis Zapata Muga 5ed8ea7e09 + Make the benchmark compile again
+ Remove unused code

SVN revision: 36213
2008-09-24 13:59:00 +00:00
Cedric BAIL bf418729d2 Group all rbtree functions.
SVN revision: 36209
2008-09-24 12:58:31 +00:00
Cedric BAIL b00e9e5c64 Use rbtree helper.
SVN revision: 36208
2008-09-24 12:57:26 +00:00
Jorge Luis Zapata Muga c9f08f6124 New module API. Port this API to the mempool subsystem and the tests.
Now the modules can define a default function that will be called when the module is loaded and unloaded.

SVN revision: 36207
2008-09-24 12:55:31 +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
Vincent Torri 476222cc6c add main doc for eina_convert
SVN revision: 36187
2008-09-23 15:57:57 +00:00
Vincent Torri 3edd75f9ba formatting
SVN revision: 36179
2008-09-23 05:24:26 +00:00
Vincent Torri 4313d2b084 * fix list doc
* minor other doc fixes
 * link the mempool modules statically to libeina when requested
 * don't compile static lib of mempool when they are built as shared lib


SVN revision: 36178
2008-09-23 05:17:49 +00:00
Cedric BAIL f656fabac1 Make magical mask easily testable.
SVN revision: 36171
2008-09-22 14:45:57 +00:00
Cedric BAIL 201bba1ba8 Add benchmark for evas (also add ecore bench, but it's deactivated by default,
as i can't run it on my computer).


SVN revision: 36170
2008-09-22 14:27:50 +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 3fc07d2aac Add helper for inlined red black tree manipulation.
SVN revision: 36164
2008-09-22 13:02:08 +00:00
Cedric BAIL 60d10a0b9e Fix new inlist API.
SVN revision: 36163
2008-09-22 13:00:52 +00:00
Cedric BAIL 1726e80939 Use define.
SVN revision: 36159
2008-09-22 10:08:44 +00:00
Vincent Torri 0b93ba01a6 add doc to the counter module. remove the link to the
tutorial (the module is too short for a tutorial to be
useful)


SVN revision: 36126
2008-09-20 09:46:54 +00:00
Vincent Torri f196383f8f finish doc of the file module. Add a warning if eina_file_split() is used
SVN revision: 36122
2008-09-20 08:42:35 +00:00
Cedric BAIL 44c684bd36 Remove warning due to Inlist API change.
SVN revision: 36098
2008-09-19 12:40:18 +00:00
Cedric BAIL 710354bd96 Change eina_benchmark_register API as it can fail in many occasion.
SVN revision: 36097
2008-09-19 12:32:24 +00:00
Cedric BAIL 80a227ff13 We have now a defined behaviour when we have more than one entry with the same
key in the hash table.


SVN revision: 36096
2008-09-19 12:19:06 +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
Cedric BAIL 8bda22fced Add some type checking to Inlined List.
SVN revision: 36084
2008-09-18 14:22:48 +00:00
Cedric BAIL 80e138df1b Remove moved declaration.
SVN revision: 36082
2008-09-18 14:21:38 +00:00
Cedric BAIL 02a24e53dc Include meaningfull header.
SVN revision: 36081
2008-09-18 14:20:45 +00:00
Cedric BAIL fc08f85167 Make module path global to all bench.
SVN revision: 36080
2008-09-18 14:19:50 +00:00
Cedric BAIL ad793833c6 Set module path for all tests.
SVN revision: 36079
2008-09-18 14:17:48 +00:00
Cedric BAIL 4423005ab4 Avoid some dereferencing and provide inline for mempool alloc/free/realloc.
SVN revision: 36078
2008-09-18 14:16:47 +00:00
Cedric BAIL d4ae3fc7e1 Include the usefull header.
SVN revision: 36077
2008-09-18 14:14:30 +00:00
Cedric BAIL 210ff33edf Another forgotten initialization.
SVN revision: 36076
2008-09-18 14:12:33 +00:00
Cedric BAIL 0d9b2f3f8d Remove useless counter init/shutdown.
SVN revision: 36075
2008-09-18 12:24:07 +00:00
Cedric BAIL ce16573cb3 Add init/shutdown to benchmark and fix its users.
SVN revision: 36073
2008-09-18 10:04:46 +00:00
Cedric BAIL ac21afc37f Reduce code size.
SVN revision: 36072
2008-09-18 10:04:01 +00:00
Cedric BAIL 27040661af Use global EINA_ERROR_OUT_OF_MEMORY.
SVN revision: 36071
2008-09-18 10:03:34 +00:00
Cedric BAIL c17a9848a3 Forgotten initialization.
SVN revision: 36070
2008-09-18 10:02:40 +00:00
Cedric BAIL 9d54723060 Add forgotten declaration.
SVN revision: 36069
2008-09-18 10:01:45 +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
Cedric BAIL 96bfcc0395 Add another mempool test.
SVN revision: 36054
2008-09-17 16:33:16 +00:00
Cedric BAIL c9ad936b24 Add mempool check.
SVN revision: 36053
2008-09-17 15:23:09 +00:00
Cedric BAIL f3bab28c36 Fix module stuff to be able to run test in the build directory.
SVN revision: 36052
2008-09-17 15:21:16 +00:00
Cedric BAIL f7d92d57a4 Add statistics, gc support to mempool and a workaround path lookup for module.
SVN revision: 36051
2008-09-17 15:20:35 +00:00
Cedric BAIL 0dbb3917b7 We need to return something != NULL.
SVN revision: 36050
2008-09-17 15:19:07 +00:00
Cedric BAIL 730049220e Fix typo and initialization.
SVN revision: 36049
2008-09-17 15:18:35 +00:00
Cedric BAIL 84a2279a0a Remove dead directory.
SVN revision: 36048
2008-09-17 15:18:04 +00:00
Cedric BAIL 3bf0d7ed5e Add protection for dump function also.
SVN revision: 36042
2008-09-17 08:59:47 +00:00
Cedric BAIL eeb52f487a Fix bug reported by Vincent Torri and add a test to trigger it.
SVN revision: 36041
2008-09-17 08:33:35 +00:00
Cedric BAIL d40ebdca1b Add real life test from E17 use.
SVN revision: 36017
2008-09-16 14:06:14 +00:00
Cedric BAIL 3f59016035 Add Ecore and Evas benchmark.
SVN revision: 36015
2008-09-16 13:50:34 +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
Vincent Torri 78c9527052 * add documentation. The tutorial needs to be written, though
* rename eina_arra_count() to eina_array_count_get() and
   eina_arra_get() to eina_array_data_get()


SVN revision: 36003
2008-09-15 19:17:15 +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 e54390798d Add more test for stringshare.
SVN revision: 35999
2008-09-15 12:44:06 +00:00
Cedric BAIL 9979edd82a Don't limite the range of the hash function. It's the dutty of the caller.
SVN revision: 35998
2008-09-15 12:35:27 +00:00
Cedric BAIL ab37298c12 Include benchmark against Evas and Ecore stringshare.
SVN revision: 35995
2008-09-15 09:59:41 +00:00
Vincent Torri 345bddedca add evas and ecore detection for benchmarking
SVN revision: 35969
2008-09-12 21:08:16 +00:00
Cedric BAIL c52f7b7b62 Make inline only usefull function.
Return information about potential error during eina_array_remove.



SVN revision: 35888
2008-09-08 12:19:15 +00:00
Vincent Torri b73180cd01 * add array doc
* eina_array_push() returns now a bool
 * fix compilation


SVN revision: 35871
2008-09-07 19:12:49 +00:00
Vincent Torri 557107790a * add accessor doc
* fix and add some links


SVN revision: 35865
2008-09-07 07:19:19 +00:00
Vincent Torri 0b6f01fec5 * add doc for iterators
* add table of content on the main page


SVN revision: 35864
2008-09-07 05:44:00 +00:00
Vincent Torri 1f3a6a7c5a fix examples in tutorial
SVN revision: 35851
2008-09-06 09:14:54 +00:00
Vincent Torri 108e5a3ee5 * fix section title
* forget a remark


SVN revision: 35850
2008-09-06 08:54:22 +00:00
Vincent Torri 7e6e46723e * finish tutorial of eina_error
* spelling


SVN revision: 35849
2008-09-06 08:48:36 +00:00
Vincent Torri ae2e95969f * add documentation and a tutorial for the error module
* change api (eina_error_register to eina_error_msg_register)


SVN revision: 35838
2008-09-05 07:58:38 +00:00
Cedric BAIL 991867bd7b Share eina_benchmark to other libs also.
SVN revision: 35832
2008-09-04 15:06:26 +00:00
Cedric BAIL 593569c78e Remove debug variable.
SVN revision: 35831
2008-09-04 14:58:22 +00:00
Cedric BAIL 8a9cfed253 Oops, forgot this update.
SVN revision: 35815
2008-09-03 14:48:56 +00:00
Cedric BAIL a257cf02f3 Add a routine to extract path information.
SVN revision: 35814
2008-09-03 14:40:12 +00:00
Cedric BAIL 7da98019b3 Remove warning.
SVN revision: 35813
2008-09-03 14:38:49 +00:00
Cedric BAIL 9638ded27f Fix initialisation logic.
SVN revision: 35806
2008-09-03 12:06:50 +00:00
Cedric BAIL 7f3c271680 Update copyright credit correctly.
SVN revision: 35775
2008-09-01 12:51:50 +00:00
Cedric BAIL 345242f6c3 Update copyright credit correctly.
SVN revision: 35774
2008-09-01 12:42:16 +00:00
Vincent Torri d722648292 * fix compilation on Windows
* improve a bit autotools


SVN revision: 35761
2008-08-31 14:05:17 +00:00
Cedric BAIL 696c63f011 Main should return something.
SVN revision: 35743
2008-08-29 17:21:06 +00:00
Cedric BAIL 741019fdb2 Add all benchmark and prefer line instead of logscale.
SVN revision: 35741
2008-08-29 16:21:37 +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 ae2b9f2762 Don't benchmark snprintf.
SVN revision: 35739
2008-08-29 16:07:55 +00:00
Cedric BAIL 84bcc585cd Always use eina when possible.
SVN revision: 35738
2008-08-29 16:06:14 +00:00
Vincent Torri d05b258fcb fix compilation on Windows
SVN revision: 35736
2008-08-29 14:45:55 +00:00
Cedric BAIL 6bbb9bf821 Remove useless indirection and useless tests.
SVN revision: 35733
2008-08-29 13:52:16 +00:00
Cedric BAIL 1b9d254f52 In fact the node should never be NULL or something is really going wrong.
SVN revision: 35732
2008-08-29 13:50:25 +00:00
Cedric BAIL c0e5707e30 Fix counter and cleanup this stuff a little.
SVN revision: 35731
2008-08-29 13:49:06 +00:00
Vincent Torri 20bd230e96 port eina_counter code to Windows.
SVN revision: 35730
2008-08-29 13:34:30 +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 edad077c64 We don't want to bench snprintf with callgrind.
SVN revision: 35728
2008-08-29 09:31:25 +00:00
Vincent Torri 711d48bcd5 now it should be correct
SVN revision: 35724
2008-08-28 23:51:48 +00:00
Vincent Torri 5fddd7766e wrong shared lib extension...
SVN revision: 35723
2008-08-28 23:38:43 +00:00
Cedric BAIL 357e2614e9 Activate rbtree now that it work correctly.
SVN revision: 35721
2008-08-28 16:36:18 +00:00
Cedric BAIL 78e7047377 Use rbtree instead of inlist and make hash way faster.
SVN revision: 35720
2008-08-28 16:35:43 +00:00
Cedric BAIL 3e562ccfc2 Add a context to the callback.
SVN revision: 35719
2008-08-28 16:33:40 +00:00
Cedric BAIL f6bcf421ce Forgotten declaration.
SVN revision: 35718
2008-08-28 16:28:35 +00:00
Cedric BAIL 9494785cb7 Inline red black tree lookup.
SVN revision: 35716
2008-08-28 14:37:26 +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
Cedric BAIL 9596935138 Fix rbtree removal. Was a bug due to rotation and parent lost.
SVN revision: 35714
2008-08-28 13:54:51 +00:00
Cedric BAIL 37424a7109 Add a test that trigger the parent bug.
SVN revision: 35713
2008-08-28 13:54:07 +00:00
Vincent Torri ccf94fe4e3 * EAPI is now correctly defined on Windows
* move an exported variable


SVN revision: 35712
2008-08-28 12:41:58 +00:00
Cedric BAIL 9e8b6f563b Display tree before and after removal.
SVN revision: 35711
2008-08-28 11:55:08 +00:00
Cedric BAIL a1095af629 Display the tree.
SVN revision: 35710
2008-08-28 11:49:34 +00:00
Cedric BAIL 045f546e06 Add two minimal example that trigger error in the rbtree during removal.
SVN revision: 35709
2008-08-28 11:40:01 +00:00
Cedric BAIL f2a6fcb19c Add needed minimal header.
SVN revision: 35708
2008-08-28 11:12:23 +00:00
Cedric BAIL 2c38b1df51 Add more type description and include all the headers.
SVN revision: 35707
2008-08-28 10:05:22 +00:00
Cedric BAIL 6ec3e281f1 Bench convertion of string<->double.
SVN revision: 35706
2008-08-28 09:34:55 +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
Vincent Torri 29313e097f use 'dll' extension on Windows.
SVN revision: 35704
2008-08-28 06:49:04 +00:00
Vincent Torri 4336fb3658 forget to open groups in doc...
SVN revision: 35703
2008-08-28 06:34:20 +00:00
Vincent Torri 4485f06f66 fix a bit list documentation. Not finished yet.
SVN revision: 35702
2008-08-28 06:31:18 +00:00
Cedric BAIL 1d3013e37d Add benchmark against glib so we see where we stand.
SVN revision: 35699
2008-08-27 17:14:34 +00:00
Cedric BAIL 5a9be377b1 Oops, forgot to initialize.
SVN revision: 35698
2008-08-27 17:13:58 +00:00
Vincent Torri c7630faad9 add glib check. If glib is found, we will compare
our data types with glib ones in benchmarks


SVN revision: 35696
2008-08-27 14:41:51 +00:00