[Review] The review of the ITL library ends today, March 7th
Hey all, The review of Joachim Faulhabers ITL library ends today, March 7th 2010. Please get your reviews in today or get in contact with me to agree on some offline schedule. Regards Hartmut Review Manager --------------- Meet me at BoostCon www.boostcon.com
Hartmut Kaiser wrote:
Hey all,
The review of Joachim Faulhabers ITL library ends today, March 7th 2010. Please get your reviews in today or get in contact with me to agree on some offline schedule.
Due to some private hassle, I could not take the time I originally planned to test this, so here is my last-minute vote and my mini-micro-review: Though I only took a quick glance at the docs (some hours), I think that this library is extremely useful to me and I will certainly refer to it in future projects. My vote therefore is "yes", despite the issues raised so far: a) The name ITL is already in use for the Iterative Template Library. I strongly vote against this name. Also this library is a high level library which does not need to mention its use of templates ... b) The performance issues raised by Phil may or may not hit me later. I can imagine they won't due to the fact that this libary is already in use for RealWorld systems. If those performance issues have not effect on the *interface*, I would vote for inclusion now and ask Joachim to improve later. Btw.: 10 extra points for the docs. Danke, Joachim, für die viele Mühe! regards, Markus
Hi Markus,
thanks for mini reviewing my work :)
2010/3/8 Markus Werle
Hartmut Kaiser wrote:
Hey all,
The review of Joachim Faulhabers ITL library ends today, March 7th 2010. Please get your reviews in today or get in contact with me to agree on some offline schedule.
Due to some private hassle, I could not take the time I originally planned to test this, so here is my last-minute vote and my mini-micro-review:
Though I only took a quick glance at the docs (some hours), I think that this library is extremely useful to me and I will certainly refer to it in future projects.
My vote therefore is "yes", despite the issues raised so far:
a) The name ITL is already in use for the Iterative Template Library. I strongly vote against this name. Also this library is a high level library which does not need to mention its use of templates ...
Your arguments concerning naming are not forgotten. Apart from the fact that I am still struggling with the decision of how to finally name the baby, I can assure you that a renaming will be done.
b) The performance issues raised by Phil may or may not hit me later. I can imagine they won't due to the fact that this libary is already in use for RealWorld systems. If those performance issues have not effect on the *interface*, I would vote for inclusion now and ask Joachim to improve later.
That would be my favorite option as well. A lot of important points concerning design and interface have been raised during the review that I would like to handle prior to the optimization.
Btw.: 10 extra points for the docs.
Danke, Joachim, für die viele Mühe!
Gerne und viel Spass damit. Cheers, Joachim
Hartmut Kaiser wrote:
Hey all,
The review of Joachim Faulhabers ITL library ends today, March 7th 2010. Please get your reviews in today or get in contact with me to agree on some offline schedule.
Regards Hartmut Review Manager
--------------- Meet me at BoostCon www.boostcon.com
Work just isn't going to let up for another couple weeks; however, I feel compelled to throw in a brief word about the ITL. My initial introduction to the library was at BoostCon09. I attended a session in which Joachim provided a brief introduction to the library and discussed some use cases. With those slides and the excellent documentation that had been placed into the vault with version 3.1.0 I began utilizing the library to implement the tracking and combining of sets of events in November 2009. The application was a digital video/event recording system. Approximately 30 events per minute are captured with associated video. The system records 16 independent video streams and supports numerous event-trigger sources. The video is typically recorded in "clips" and events are either impulses (instances in time with no duration) or span some number of seconds or minutes. Separate ITL containers were used to capture "activity" for each video stream and event source. As a result, the intersection of various events with video for a specific time span was easily extracted. The library was also used to extract monthly, daily, and hourly "visuals" of recorded data. While I don't have time to complete a full review right now I have been closely following the discussions concerning this library. My experience as a user would echo the comments of Luke and Rob encouraging free functions that operate on concepts. As for implementation details resulting in performance improvements... my limited experience with this one use-case did not result in a performance problem. It did however speak toward the richness of the interface. Each time we wanted to apply a different operation or extract a different view of the data we found that the scenario had already been considered and a solution was readily available. And now for my brief review: Starting with my "vote": Yes, the library should be accepted as part of Boost. In addition to the above use-case I have two other applications that I am eager to apply the library to. I have found that the concept of an interval container shows up in many of my client's domains. Until recently, I have hacked together some very specialized containers to deal with the concept. Having a released and supported library with such a rich interface would be a great help. - What is your evaluation of the design? - What is your evaluation of the implementation? I looked at neither design nor implementation in detail. - What is your evaluation of the documentation? Excellent! The documentation was enough to get me going and be successful with the library. I found the tutorials and examples very useful and they provide "food for thought" on implementing various patterns. - What is your evaluation of the potential usefulness of the library? I have found the library to be very useful and intend to use it on more projects in the very near future. - Did you try to use the library? With what compiler? Did you have any problems? I used the library with VC8 without issue. - How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? I used the library within an application; however, I would not say that I evaluated the library "in-depth". As a user I simply "used" the library to implement various solutions that I needed. Documentation was consulted. Tests were ran for "correctness" given our use-case but no in-depth testing was performed. - Are you knowledgeable about the problem domain? Not particularly. I have implemented various interval type containers for very specific problems but not with the obvious study and energy as Joachim has expended. Some final notes. Thank you Joachim for sharing this well-thought library with the public. I wish I could have found time to produce a complete review. Thank you Hartmut for managing another review with such a short rest since your last. Hopefully your effort will result in another well-deserved library inclusion to the Boost family. Best regards - michael -- ---------------------------------- Michael Caisse Object Modeling Designs www.objectmodelingdesigns.com
Hi Michael,
it is very rewarding for me to hear that the ITL actually helps
solving problems. Thank you for sharing your experience and for
reviewing my library!
2010/3/8 Michael Caisse
Hartmut Kaiser wrote:
Hey all,
The review of Joachim Faulhabers ITL library ends today, March 7th 2010. Please get your reviews in today or get in contact with me to agree on
[...]
Work just isn't going to let up for another couple weeks; however, I feel compelled to throw in a brief word about the ITL.
My initial introduction to the library was at BoostCon09. I attended a session in which Joachim provided a brief introduction to the library and discussed some use cases. With those slides and the excellent documentation that had been placed into the vault with version 3.1.0 I began utilizing the library to implement the tracking and combining of sets of events in November 2009.
The application was a digital video/event recording system. Approximately 30 events per minute are captured with associated video. The system records 16 [...] While I don't have time to complete a full review right now I have been closely following the discussions concerning this library. My experience as a user would echo the comments of Luke and Rob encouraging free functions that operate on concepts.
agreed, as posted in several points during the review.
As for implementation details resulting in performance improvements... my limited experience with this one use-case did not result in a performance problem. It did however speak toward the richness of the interface.
this is also very rewarding for me to hear ...
Each time we wanted to apply a different operation or extract a different view of the data we found that the scenario had already been considered and a solution was readily available.
I have been surprised of the richness of the interface myself as it "unfolded" in more depth during a phase of the development where I started to formally define axioms and to check the spaces of instantiations that they would be valid for. And there are still some more subspaces of applicability that are obviously unused ;^}
And now for my brief review:
Starting with my "vote": Yes, the library should be accepted as part of Boost. In addition to the above use-case I have two other applications that I am eager to apply the library to. I have found that the concept of an interval container shows up in many of my client's domains.
I share your experience. [...]
- What is your evaluation of the documentation?
Excellent! The documentation was enough to get me going and be successful with the library. I found the tutorials and examples very useful and they provide "food for thought" on implementing various patterns.
That's good to hear. I have put a substantial amount of effort into those examples, as an attempt to get the various aspects and sometimes unusual possibilities of interval containers communicated to potential users. I am happy to hear that this has worked for you.
- What is your evaluation of the potential usefulness of the library?
I have found the library to be very useful and intend to use it on more projects in the very near future.
- Did you try to use the library? With what compiler? Did you have any problems?
I used the library with VC8 without issue.
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
I used the library within an application; however, I would not say that I evaluated the library "in-depth". As a user I simply "used" the library to implement various solutions that I needed. Documentation was consulted. Tests were ran for "correctness" given our use-case but no in-depth testing was performed.
- Are you knowledgeable about the problem domain?
Not particularly. I have implemented various interval type containers for very specific problems but not with the obvious study and energy as Joachim has expended.
Some final notes. Thank you Joachim for sharing this well-thought library with the public. I wish I could have found time to produce a complete review. Thank you Hartmut for managing another review with such a short rest since your last. Hopefully your effort will result in another well-deserved library inclusion to the Boost family.
Thank you Michael :) Best regards Joachim
participants (4)
-
Hartmut Kaiser
-
Joachim Faulhaber
-
Markus Werle
-
Michael Caisse