Commit Graph

288 Commits

Author SHA1 Message Date
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 867547e152 Coverage work with last git libtool version and a small patch.
SVN revision: 35807
2008-09-03 12:07:53 +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 4cf7e2c532 fix copy/paste error
SVN revision: 35773
2008-09-01 12:03:52 +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 0225cc674f Update benchmark result for convertion function.
SVN revision: 35742
2008-08-29 16:24:25 +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
Cedric BAIL 604a020f15 Full test of eina_convert.
SVN revision: 35694
2008-08-27 14:14:42 +00:00
Vincent Torri 9824a1a86c Update documentation:
* run 'make doc' to generate the documentation. Hence
   gendoc disappear. Doxyfile is moved to doc/
 * update main page and doc of hash table, but it has to
   be filled.



SVN revision: 35692
2008-08-27 13:34:04 +00:00
Cedric BAIL 394c787dde Add Red Black tree API. Right now only insertion, lookup and iterator work.
The current implementation choose to move the node allocation outside of eina
control like eina_inlist. They currently have the same memory footprint as
eina_inlist and the implementation of insertion and lookup are iterative
making it quite fast. This should make them a good competitor of eina_inlist
for eina_hash and eina_stringshare.



SVN revision: 35689
2008-08-27 10:07:12 +00:00
Cedric BAIL 4390a37a70 Add eina_array_pop and rename eina_array_append by eina_array_push.
SVN revision: 35679
2008-08-26 10:23:45 +00:00
Cedric BAIL 3878e945fb Some cleanup. Add EAPI in the .c file and move the locale function up in the file.
SVN revision: 35678
2008-08-26 08:59:25 +00:00
Jorge Luis Zapata Muga 7ae301f601 Place pre-conditions where they belong
Remove unused rectangle functions

SVN revision: 35634
2008-08-23 19:50:21 +00:00
Cedric BAIL 9e78e5ecdb Remove useless variable.
SVN revision: 35606
2008-08-21 15:51:29 +00:00
Cedric BAIL 4bc094c45a As we are heavy user of int to string and double to string in the EFL, provide a fast and portable one.
SVN revision: 35604
2008-08-21 14:20:41 +00:00
Cedric BAIL 995ca492e9 Fix --enable-benchmark use.
SVN revision: 35603
2008-08-21 14:16:45 +00:00
Cedric BAIL f37d0b8ad6 Coverage doesn't work on module at the moment.
SVN revision: 35602
2008-08-21 14:16:23 +00:00
Cedric BAIL 7eedb5fced Put benchmark result in their own directory.
SVN revision: 35601
2008-08-21 14:14:25 +00:00
Cedric BAIL da8c3be66f Add a proposal for a module/plugins API that should match every requirement I
received. It's a little huge right now, but work quite nicely.

It support "static" module, version, recursive lookup and should be able to
replace the module/plugins support in evas and ecore.


SVN revision: 35534
2008-08-18 08:18:16 +00:00
Carsten Haitzler 7ba5e265be fix more bin files...
SVN revision: 35524
2008-08-17 23:41:11 +00:00
Cedric BAIL 18e36f10f5 Line give nicer graphics.
SVN revision: 35460
2008-08-13 09:33:08 +00:00
Cedric BAIL c035c8eeab Use the right type.
SVN revision: 35459
2008-08-13 09:26:13 +00:00
Cedric BAIL ee5f9b2d75 Use the right type name.
SVN revision: 35458
2008-08-13 09:25:22 +00:00
Cedric BAIL 13e1ab352d Constness++
SVN revision: 35457
2008-08-13 09:24:49 +00:00
Cedric BAIL 37061474bc Remove warning and only include needed stuff.
SVN revision: 35456
2008-08-13 09:22:50 +00:00
Cedric BAIL a7aaf30440 Merge common code.
SVN revision: 35455
2008-08-13 09:21:33 +00:00
Cedric BAIL 911cd4deda Add iterator/accessor to eina list.
Change list size type to unsigned int.


SVN revision: 35454
2008-08-13 09:19:34 +00:00
Cedric BAIL 770fd642fb Add benchmark for inlist iterator.
SVN revision: 35448
2008-08-12 16:14:19 +00:00
Cedric BAIL bd76226a8f Expose Iterator/Accessor API for Inlist.
SVN revision: 35447
2008-08-12 16:02:09 +00:00
Cedric BAIL e360e1b2b9 Cleanup.
SVN revision: 35446
2008-08-12 16:01:10 +00:00
Cedric BAIL d299b79375 Add Inlist Iterator.
SVN revision: 35445
2008-08-12 15:58:41 +00:00
Cedric BAIL 9c1d8d3d95 Change function name to match its new behaviour. jumpt_at -> get_at.
SVN revision: 35444
2008-08-12 08:41:39 +00:00
Cedric BAIL fbb333c916 Use the new iterator API.
SVN revision: 35443
2008-08-12 08:40:36 +00:00
Cedric BAIL a46c20d137 Easier API and follow gustavo's remark.
SVN revision: 35440
2008-08-11 17:22:36 +00:00
Cedric BAIL fd4aae2064 Remove trailing space.
SVN revision: 35439
2008-08-11 16:32:19 +00:00
Cedric BAIL 43cc2dca6f Add first try for an accessor and iterator API, comment welcome (lack inlist and list currently).
Rewrite EINA_ARRAY_ITER_NEXT, still fast, need one more parameter, but no more EINA_ARRAY_ITER_END.


SVN revision: 35438
2008-08-11 16:30:16 +00:00
Cedric BAIL ea0fb7d1b5 Cleanup.
SVN revision: 35437
2008-08-11 16:21:51 +00:00
Cedric BAIL c1959429af Add some meaningfull const.
SVN revision: 35436
2008-08-11 16:21:19 +00:00
doursse ed3719607f update Doxyfile
SVN revision: 35417
2008-08-09 05:48:22 +00:00
doursse bbf9b05530 fix doxy doc
SVN revision: 35416
2008-08-09 05:47:15 +00:00
Cedric BAIL 13a3f9516e Add ememoa variable size memory allocator.
SVN revision: 35415
2008-08-08 17:17:52 +00:00
Cedric BAIL 27ffac0f27 Add the data and gnuplot used to generate them.
SVN revision: 35414
2008-08-08 16:22:01 +00:00
Cedric BAIL bf4852f373 Add some picture comparing djb2 and Paul Hsieh one.
SVN revision: 35413
2008-08-08 16:20:44 +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 79fb88b08e Just some alignment.
SVN revision: 35411
2008-08-08 15:56:17 +00:00
Cedric BAIL b99c0cfea2 Add a benchmark for stringshare.
SVN revision: 35410
2008-08-08 15:55:09 +00:00
Cedric BAIL d87d5d949a Cover all case of the hash function.
SVN revision: 35409
2008-08-08 15:54:26 +00:00
Cedric BAIL 5c20f9cda0 Add a pass through mempool.
SVN revision: 35408
2008-08-08 14:26:59 +00:00
Cedric BAIL 6eacc6aa2d After benchmarking, providing inline does impact performance of list and array user.
SVN revision: 35407
2008-08-08 14:25:37 +00:00
Cedric BAIL ce23f3c2a9 After benchmarking, providing inline does impact performance of list and array user.
SVN revision: 35406
2008-08-08 14:20:11 +00:00
Cedric BAIL 5cfb71ff72 Remove warning fix test covering.
SVN revision: 35405
2008-08-08 12:29:13 +00:00
Jorge Luis Zapata Muga ee54713d9d Allow user provided functions for printing messages
Make the stdout print mgs function exportable
Add a FILE * print msg function (useful for logging)


SVN revision: 35404
2008-08-08 10:39:47 +00:00
Cedric BAIL bdf0f1bb71 Activate the bench.
SVN revision: 35386
2008-08-07 17:25:52 +00:00
Cedric BAIL 8fa6d931ce Add a benchmark that attempt to emulate evas_render loop behaviour.
SVN revision: 35385
2008-08-07 17:17:18 +00:00
Cedric BAIL 81d520804e Fix improved version of eina_array_remove.
SVN revision: 35384
2008-08-07 17:12:06 +00:00
Cedric BAIL f84524b958 Fix a typo in bench.
SVN revision: 35381
2008-08-07 13:14:08 +00:00
Cedric BAIL 97afef9508 Initialise all sub system.
SVN revision: 35380
2008-08-07 13:12:57 +00:00
Cedric BAIL cf5bc3129d Use the common out of memory error.
SVN revision: 35379
2008-08-07 13:11:13 +00:00
Cedric BAIL f193096aa8 Add eina_list test suite. Cleanup list implementation and share out of memory error.
SVN revision: 35378
2008-08-07 13:09:09 +00:00
Cedric BAIL d2f17c1e81 Benchmark inline version of djb2 hash function.
SVN revision: 35376
2008-08-07 09:13:24 +00:00
Cedric BAIL c66618b521 Really keep track of all authors.
SVN revision: 35361
2008-08-06 18:16:28 +00:00
Cedric BAIL ddaa7d4d8f License changes (BSD -> LGPL)
SVN revision: 35360
2008-08-06 18:15:24 +00:00
Jorge Luis Zapata Muga 14dc2a50a8 License changes (BSD -> LGPL)
SVN revision: 35358
2008-08-06 18:12:57 +00:00
Cedric BAIL ee86227bc6 Activate all tests.
SVN revision: 35357
2008-08-06 16:00:12 +00:00
Cedric BAIL a20a3f518c To benchmark eina hash implementation, just call: make benchmark.
SVN revision: 35356
2008-08-06 15:59:13 +00:00
Cedric BAIL ba3ee2cd16 Add benchmark support.
SVN revision: 35355
2008-08-06 15:54:56 +00:00
Cedric BAIL 693f0eca8d Build new API.
SVN revision: 35354
2008-08-06 15:53:03 +00:00
Cedric BAIL e81e63dc65 Fully cover eina_error API.
SVN revision: 35353
2008-08-06 15:51:19 +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 69945bf4ec Major cleanup. Eina_Hash now support other key than string. All code except
allocation failure and foreach is covered by the test.


SVN revision: 35351
2008-08-06 15:46:57 +00:00
Cedric BAIL a9c6722814 Cleanup inline.
SVN revision: 35350
2008-08-06 15:42:33 +00:00
Cedric BAIL ff9f4d3502 Cleanup headers.
SVN revision: 35349
2008-08-06 15:41:47 +00:00
Cedric BAIL 9c1c394a25 Test counter API.
SVN revision: 35348
2008-08-06 15:39:17 +00:00
Cedric BAIL 23ae11c45d Test init/shutdown API.
SVN revision: 35347
2008-08-06 15:38:54 +00:00
Cedric BAIL 75f134cb18 Remove useless output.
SVN revision: 35346
2008-08-06 15:38:19 +00:00
Cedric BAIL 0300d7019f Add global init/shutdown API to Eina. Include eina_counter header.
SVN revision: 35345
2008-08-06 15:37:29 +00:00
Cedric BAIL 4b2812b7e0 Add a counter API, usefull for benchmarking.
SVN revision: 35344
2008-08-06 15:35:56 +00:00
Cedric BAIL 5f85aa8a80 Hide the type.
SVN revision: 35321
2008-08-04 17:00:30 +00:00
Cedric BAIL ba49a3fee1 Cover lazy allocator at 100%. Add error checking capability.
SVN revision: 35320
2008-08-04 16:50:03 +00:00
Cedric BAIL 5f783f52d8 Add eina inlist tests suite, remove dead code and cleanup iterator.
SVN revision: 35302
2008-08-01 15:44:53 +00:00