1. dcc51a5 Fix quoting of variables in ifs in CMake files. by Marco Poletti · 7 years ago
  2. 7c74201 Support compiling Fruit (and running tests) under Windows, using MinGW's GCC. by Marco Poletti · 7 years ago
  3. 6df80a7 Use extras/bazel_root as WORKSPACE root for Bazel, using symlinks so that Fruit lives under //third_party/fruit instead of //. by Marco Poletti · 8 years ago
  4. 0316a00 Reimplement the storage for PartialComponent to: by Marco Poletti · 8 years ago
  5. d94b25e Fix a couple remaining issues with the benchmark code and introduce YAML files to configure the tests to run and the tables to produce with the test results. Also improve code quality of benchmarking code. by Marco Poletti · 8 years ago
  6. 1a23d0b Introduce python scripts to run multiple benchmarks and analyze the results. by Marco Poletti · 8 years ago
  7. 8960354 Fix build error, by removing a reference to a no-longer-existing dir. by Marco Poletti · 8 years ago
  8. bc1c7bc Rewrite the benchmark code in python, slightly changing the generated benchmark, and add a Boost.DI benchmark generator. by Marco Poletti · 8 years ago
  9. ba4d179 No longer include boost::hash{set,map} in fruit.h (not even as forward decls). by Marco Poletti · 8 years ago
  10. 3e576c2 No longer include normalized_component_storage.h in fruit.h. by Marco Poletti · 8 years ago
  11. 62f2574 Reduce the amount of code included when including fruit.h. by Marco Poletti · 8 years ago
  12. 695a93f Add an example that shows how to use annotated injection. by Marco Poletti · 8 years ago
  13. 93801e6 Fix the runtime benchmark code. by Marco Poletti · 8 years ago
  14. 18fb995 Support Bazel as an alternative build system (in parallel with CMake). by Marco Poletti · 8 years ago
  15. fcb7ead Re-add an include that was erroneously removed in commit 16A4E8. by Marco Poletti · 8 years ago
  16. 16a4e81 Remove unused includes (detected by CLion). by Marco Poletti · 8 years ago
  17. a70a2e0 Minor changes to help CLion (and probably other IDEs) analyze the code of Fruit. by Marco Poletti · 8 years ago
  18. 320340e Remove old benchmarks. by Marco Poletti · 8 years ago
  19. c1f7e1f Fix compile-time benchmark (was broken by the introduction of fruit/impl/config-base.h). by Marco Poletti · 9 years ago
  20. e5c936b Replace a MapContainsKey with an IsInSet check where possible. This slightly improves compile-time performance. by Marco Poletti · 9 years ago
  21. 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
  22. d08991f Rewrite the server example for Fruit 1.0. by Marco Poletti · 9 years ago
  23. 43af2da generate_benchmark: take the num_loops as a command line argument instead of stdin. by Marco Poletti · 10 years ago
  24. 017b0a4 Change the compile-time benchmark to only run in Release mode. by Marco Poletti · 10 years ago
  25. 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
  26. 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
  27. e879261 Update the new/delete benchmark to use classes with virtual destructors. by Marco Poletti · 10 years ago
  28. 0f76a0d Use virtual destructors for classes in the benchmark. by Marco Poletti · 10 years ago
  29. b0c9dce Change the new/delete benchmark to reduce the impact of timing overhead on the benchmark result. by Marco Poletti · 10 years ago
  30. 3396ad9 Update the benchmark to avoid copying NormalizedComponents (it's no longer allowed). by Marco Poletti · 10 years ago
  31. 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
  32. 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
  33. cdcf729 The Injector constructor with 2 parameters now takes the NormalizedComponent as const& instead of value. by Marco Poletti · 10 years ago
  34. 42e9e34 Minor changes. by Marco Poletti · 10 years ago
  35. 81e03d5 Add a macro that disables compile-time dep checking for benchmarking purposes. by Marco Poletti · 10 years ago
  36. a10ad11 Now the compile time test is run with both Release-like and Debug-like compiler flags. by Marco Poletti · 10 years ago
  37. fbcb38b Revert "Another attempt to increase performance by having static storage in the injector." by Marco Poletti · 10 years ago
  38. f50f56f Another attempt to increase performance by having static storage in the injector. by Marco Poletti · 10 years ago
  39. 2f4a41c Improve the benchmark to make the per-request time more stable. by Marco Poletti · 10 years ago
  40. a097991 Add a simple benchmark for the use of new/delete (instead of injection). by Marco Poletti · 10 years ago
  41. 8e417d8 Improve the (runtime) benchmark, make it closer to real-world usage. by Marco Poletti · 10 years ago
  42. 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
  43. 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
  44. 1fd2649 getMultibindings now returns a vector instead of a set. by Marco Poletti · 10 years ago
  45. d9d60db Reduce the preprocessed size of fruit.h by moving big includes to .cpp files. by Marco Poletti · 10 years ago
  46. aa9e5de Minor changes for Clang compatibility. by Marco Poletti · 10 years ago
  47. dae2949 Update the server example to use normalized components. by Marco Poletti · 10 years ago
  48. 6d1b7f3 Increase the multiplier to 64 in the compile-time benchmark. by Marco Poletti · 10 years ago
  49. 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
  50. 2ccfbbf Change the representation of compile-time lists. by Marco Poletti · 10 years ago
  51. 4da94a6 Add compile-time benchmark. by Marco Poletti · 10 years ago
  52. 15ffd28 Improve benchmark, now measuring several metrics. Remove bench.sh. by Marco Poletti · 10 years ago
  53. 3ff7136 Re-increase the benchmark size to ~400 types. by Marco Poletti · 10 years ago
  54. 492b1ba Split NormalizedComponentStorage out of InjectorStorage. by Marco Poletti · 10 years ago
  55. 66d59c0 Don't run bench.sh during "make benchmark", expect the user to run it separately afterwards. by Marco Poletti · 10 years ago
  56. 756ef1f Change the benchmark to use both registerConstructor and bind in each component. by Marco Poletti · 10 years ago
  57. 08486e0 Update benchmark: change the number of injected types, reduce number of includes. by Marco Poletti · 10 years ago
  58. dd0a023 Disable assertions when benchmarking. by Marco Poletti · 10 years ago
  59. fdbfcbe Split InjectorStorage out of ComponentStorage. by Marco Poletti · 10 years ago
  60. c7a632c Add a bench.sh script to run the benchmark multiple times and report the average. by Marco Poletti · 10 years ago
  61. e7a7102 Increase the number of loops in the benchmark. by Marco Poletti · 10 years ago
  62. a02c7df Change component dependencies to avoid calling the same getComponent() more than once in the whole system. by Marco Poletti · 10 years ago
  63. 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
  64. f4df33e Improve thhe benchmark to also benchmark types with dependencies. Add a C++ program that generates the benchmark. by Marco Poletti · 10 years ago
  65. 927eafc Add a ComponentImpl 'cast' that takes a ComponentImpl&&. by Marco Poletti · 10 years ago
  66. 5a0838f Add a smaller benchmark. by Marco Poletti · 10 years ago
  67. 09f7617 Add injection benchmark. by Marco Poletti · 10 years ago
  68. 09fa583 Optimize allocations by allocating a single chunk of memory in the injector. by Marco Poletti · 10 years ago
  69. cad3698 Minor changes to the examples. by Marco Poletti · 10 years ago
  70. c26bac0 Remove injection_scopes example, turn it into a 'server' example. by Marco Poletti · 10 years ago
  71. bf7cf56 Add new example: examples/scaling_doubles. by Marco Poletti · 10 years ago
  72. 7496e36 Some improvement to examples/simple_injection. by Marco Poletti · 10 years ago
  73. 7bde950 Include Fruit as <fruit/fruit.h> instead of "fruit/fruit.h". by Marco Poletti · 10 years ago
  74. 6c83bde Implement eager injection. by Marco Poletti · 10 years ago
  75. a5f49d4 Split the Injector class, now Provider is a separate class. by Marco Poletti · 10 years ago
  76. 65d8eb9 Implement multibindings. by Marco Poletti · 10 years ago
  77. d61b579 Implement injection scopes, plus some other changes: by Marco Poletti · 10 years ago
  78. c0db95e Rename Module->Component, UnsafeModule->ComponentStorage. by Marco Poletti · 10 years ago
  79. eadb5f7 Add a few comments to the hello world example. by Marco Poletti · 10 years ago
  80. cf798fa Initial commit. by Marco Poletti · 10 years ago