1. 695a93f Add an example that shows how to use annotated injection. by Marco Poletti · 8 years ago
  2. 93801e6 Fix the runtime benchmark code. by Marco Poletti · 9 years ago
  3. 18fb995 Support Bazel as an alternative build system (in parallel with CMake). by Marco Poletti · 9 years ago
  4. fcb7ead Re-add an include that was erroneously removed in commit 16A4E8. by Marco Poletti · 9 years ago
  5. 16a4e81 Remove unused includes (detected by CLion). by Marco Poletti · 9 years ago
  6. a70a2e0 Minor changes to help CLion (and probably other IDEs) analyze the code of Fruit. by Marco Poletti · 9 years ago
  7. 320340e Remove old benchmarks. by Marco Poletti · 9 years ago
  8. c1f7e1f Fix compile-time benchmark (was broken by the introduction of fruit/impl/config-base.h). by Marco Poletti · 9 years ago
  9. e5c936b Replace a MapContainsKey with an IsInSet check where possible. This slightly improves compile-time performance. by Marco Poletti · 9 years ago
  10. 36253c9 Major changes to the metaprogramming code. Now using a DFS search to find dependency loops instead of transitive closure of the edges (at compile time), expressing more operations as Fold/Transform for conciseness, added ImmutableSet/ImmutableMap (compile-time data structures), now calculating the exact dep loop (if any), and many other small changes. by Marco Poletti · 9 years ago
  11. d08991f Rewrite the server example for Fruit 1.0. by Marco Poletti · 10 years ago
  12. 43af2da generate_benchmark: take the num_loops as a command line argument instead of stdin. by Marco Poletti · 10 years ago
  13. 017b0a4 Change the compile-time benchmark to only run in Release mode. by Marco Poletti · 10 years ago
  14. eef01ad Make the new/delete benchmark more real-world by defining many classes instead of just allocating the single class many times. by Marco Poletti · 10 years ago
  15. 4a0072c Change the run-time benchmark to only do 1 NormalizedComponent creation per 100 injection loops (was 1 per 50 before). by Marco Poletti · 10 years ago
  16. e879261 Update the new/delete benchmark to use classes with virtual destructors. by Marco Poletti · 10 years ago
  17. 0f76a0d Use virtual destructors for classes in the benchmark. by Marco Poletti · 10 years ago
  18. b0c9dce Change the new/delete benchmark to reduce the impact of timing overhead on the benchmark result. by Marco Poletti · 10 years ago
  19. 3396ad9 Update the benchmark to avoid copying NormalizedComponents (it's no longer allowed). by Marco Poletti · 10 years ago
  20. 9250dea Limit Provider to a single argument, it's easier to understand and it will allow some specific optimizations later. by Marco Poletti · 10 years ago
  21. 1a5832a Forbid copying NormalizedComponents, there's no reason to do it and it would be error-prone. Fix server example. by Marco Poletti · 10 years ago
  22. cdcf729 The Injector constructor with 2 parameters now takes the NormalizedComponent as const& instead of value. by Marco Poletti · 10 years ago
  23. 42e9e34 Minor changes. by Marco Poletti · 10 years ago
  24. 81e03d5 Add a macro that disables compile-time dep checking for benchmarking purposes. by Marco Poletti · 10 years ago
  25. a10ad11 Now the compile time test is run with both Release-like and Debug-like compiler flags. by Marco Poletti · 10 years ago
  26. fbcb38b Revert "Another attempt to increase performance by having static storage in the injector." by Marco Poletti · 10 years ago
  27. f50f56f Another attempt to increase performance by having static storage in the injector. by Marco Poletti · 10 years ago
  28. 2f4a41c Improve the benchmark to make the per-request time more stable. by Marco Poletti · 10 years ago
  29. a097991 Add a simple benchmark for the use of new/delete (instead of injection). by Marco Poletti · 10 years ago
  30. 8e417d8 Improve the (runtime) benchmark, make it closer to real-world usage. by Marco Poletti · 10 years ago
  31. 1072a68 Allow lambdas used as providers/factories to be inlined in the create() operation, by pushing down the lambda type in the call hierarchy instead of casting it to a function pointer. by Marco Poletti · 10 years ago
  32. 4406e32 Simplify the public interface: move PartialComponent into component.h, inline a copy of Provider into Injector, remove unused forward declarations, move method definition out of public headers. by Marco Poletti · 10 years ago
  33. 1fd2649 getMultibindings now returns a vector instead of a set. by Marco Poletti · 10 years ago
  34. d9d60db Reduce the preprocessed size of fruit.h by moving big includes to .cpp files. by Marco Poletti · 10 years ago
  35. aa9e5de Minor changes for Clang compatibility. by Marco Poletti · 10 years ago
  36. dae2949 Update the server example to use normalized components. by Marco Poletti · 10 years ago
  37. 6d1b7f3 Increase the multiplier to 64 in the compile-time benchmark. by Marco Poletti · 10 years ago
  38. 845a3d4 Revert "Change the representation of compile-time lists.". There is no compile-time performance benefit with Clang, and the compile-time with GCC was ~10% worse. by Marco Poletti · 10 years ago
  39. 2ccfbbf Change the representation of compile-time lists. by Marco Poletti · 10 years ago
  40. 4da94a6 Add compile-time benchmark. by Marco Poletti · 10 years ago
  41. 15ffd28 Improve benchmark, now measuring several metrics. Remove bench.sh. by Marco Poletti · 10 years ago
  42. 3ff7136 Re-increase the benchmark size to ~400 types. by Marco Poletti · 10 years ago
  43. 492b1ba Split NormalizedComponentStorage out of InjectorStorage. by Marco Poletti · 10 years ago
  44. 66d59c0 Don't run bench.sh during "make benchmark", expect the user to run it separately afterwards. by Marco Poletti · 10 years ago
  45. 756ef1f Change the benchmark to use both registerConstructor and bind in each component. by Marco Poletti · 10 years ago
  46. 08486e0 Update benchmark: change the number of injected types, reduce number of includes. by Marco Poletti · 10 years ago
  47. dd0a023 Disable assertions when benchmarking. by Marco Poletti · 10 years ago
  48. fdbfcbe Split InjectorStorage out of ComponentStorage. by Marco Poletti · 10 years ago
  49. c7a632c Add a bench.sh script to run the benchmark multiple times and report the average. by Marco Poletti · 10 years ago
  50. e7a7102 Increase the number of loops in the benchmark. by Marco Poletti · 10 years ago
  51. a02c7df Change component dependencies to avoid calling the same getComponent() more than once in the whole system. by Marco Poletti · 10 years ago
  52. 6455f45 generate_benchmark now generates a more meaningful benchmark, with a component per file (that installs the necessary other components). by Marco Poletti · 10 years ago
  53. f4df33e Improve thhe benchmark to also benchmark types with dependencies. Add a C++ program that generates the benchmark. by Marco Poletti · 10 years ago
  54. 927eafc Add a ComponentImpl 'cast' that takes a ComponentImpl&&. by Marco Poletti · 10 years ago
  55. 5a0838f Add a smaller benchmark. by Marco Poletti · 10 years ago
  56. 09f7617 Add injection benchmark. by Marco Poletti · 10 years ago
  57. 09fa583 Optimize allocations by allocating a single chunk of memory in the injector. by Marco Poletti · 10 years ago
  58. cad3698 Minor changes to the examples. by Marco Poletti · 10 years ago
  59. c26bac0 Remove injection_scopes example, turn it into a 'server' example. by Marco Poletti · 10 years ago
  60. bf7cf56 Add new example: examples/scaling_doubles. by Marco Poletti · 10 years ago
  61. 7496e36 Some improvement to examples/simple_injection. by Marco Poletti · 10 years ago
  62. 7bde950 Include Fruit as <fruit/fruit.h> instead of "fruit/fruit.h". by Marco Poletti · 10 years ago
  63. 6c83bde Implement eager injection. by Marco Poletti · 10 years ago
  64. a5f49d4 Split the Injector class, now Provider is a separate class. by Marco Poletti · 10 years ago
  65. 65d8eb9 Implement multibindings. by Marco Poletti · 10 years ago
  66. d61b579 Implement injection scopes, plus some other changes: by Marco Poletti · 10 years ago
  67. c0db95e Rename Module->Component, UnsafeModule->ComponentStorage. by Marco Poletti · 10 years ago
  68. eadb5f7 Add a few comments to the hello world example. by Marco Poletti · 10 years ago
  69. cf798fa Initial commit. by Marco Poletti · 10 years ago