|
From: Jimmy Z. <cra...@co...> - 2006-12-13 08:18:46
|
If you want to benchmark VTD-XML for very large files, you might have to tune a few things such as the width of intHash, the way to do it is to change the implementation of a function called determineHashWidth()... Let me know if you need help on this... ----- Original Message ----- From: "John Kraal" <jk...@in...> To: "Jimmy Zhang" <cra...@co...> Sent: Monday, December 11, 2006 12:48 AM Subject: Re: [Vtd-xml-users] vtd-xml 1.9 released > Right, will do that next time (and for release), I simply did a > s/_wcsdup/wcsdup/g :). > > In any case, do you have the XML files for benchmarking available yet? > I've got a libxml2, vtdxml1.7, 1.8, 1.9, .Net's System.Xml.XPath (on > Mono) standing by :-) > > Jimmy Zhang wrote: >> John, Thanks for pointing that out, as to the fix what about defining a >> macro >> >> #define _wcsdup wcsdup >> >> on my cygwin gcc compiler, _wcsdup is actually defined... >> >> Jimmy >> ----- Original Message ----- From: "John Kraal" <jk...@in...> >> To: "Jimmy Zhang" <cra...@co...> >> Cc: "Mark Swanson" <ma...@Sc...>; >> <vtd...@li...> >> Sent: Sunday, December 10, 2006 11:40 PM >> Subject: Re: [Vtd-xml-users] vtd-xml 1.9 released >> >> >>> Elo, >>> >>> These errors come from the usage of Visual C++-only-functions. >>> >>> lex.yy.o: In function `yylex': >>> lex.yy.c:(.text+0xefc): undefined reference to `_wcsdup' >>> lex.yy.c:(.text+0x1a79): undefined reference to `_wcsdup' >>> literalExpr.o: In function `evalString_le': >>> literalExpr.c:(.text+0x18c): undefined reference to `_wcsdup' >>> numberExpr.o: In function `evalString_ne': >>> numberExpr.c:(.text+0x151): undefined reference to `_wcsdup' >>> binaryExpr.o: In function `evalString_be': >>> binaryExpr.c:(.text+0x131b): undefined reference to `_wcsdup' >>> binaryExpr.o:binaryExpr.c:(.text+0x1348): more undefined references to >>> `_wcsdup' follow >>> collect2: ld returned 1 exit status >>> >>> Therefor, vtd-xml does not work on GNU systems. >>> >>> If OK, I'll update the files with the corresponding GNU versions of that >>> function: >>> >>> SYNOPSIS >>> #define _GNU_SOURCE >>> #include <wchar.h> >>> >>> wchar_t *wcsdup(const wchar_t *s); >>> >>> The 1.8 release is broken on this point as well, my fault I hadn't >>> noticed until now. >>> >>> Regards, >>> >>> John Kraal >>> >>> Jimmy Zhang wrote: >>>> VTD-XML version 1.9, containing XPath performance fixes and various bug >>>> fixes, is now released. >>>> This release also contains the benchmark code used for the lastest >>>> benchmark >>>> report. >>>> ----- Original Message ----- From: "Mark Swanson" >>>> <ma...@Sc...> >>>> To: <vtd...@li...> >>>> Sent: Monday, December 04, 2006 9:42 PM >>>> Subject: Re: [Vtd-xml-users] Performance in comparison to libxml2 >>>> >>>> >>>>>>> I do have a concern/question: what is the overhead of XPath >>>>>>> parsing in >>>>>>> these cases vs coding the queries in Java using the VTDNav class? I >>>>>>> think I remember you posting before that the overhead was >>>>>>> negligible, >>>>>>> but I wasn't sure in what context or what circumstances this was the >>>>>>> case. >>>>>>> >>>>>> XPath parsing is usually not a big overhead... >>>>>> XPath evaluation performance depends on the complexity of the XPath >>>>>> expression ... simple one (e.g. /*/*/* ) is pretty fast, complex >>>>>> ones, >>>>>> (//*) >>>>>> takes longer, it also has to do with the context of XPath eval. For >>>>>> relative >>>>>> Xpath, if the evaluation only iterates over the entire DOM tree, it >>>>>> will >>>>>> take longer >>>>>> than only evaluting it over a smaller sub tree... >>>>>> this applies to DOM as well as VTD-XML ... >>>>> Ok, so XPath parsing is fast. I'll just accept that :-) >>>>> Good to know the eval is smart enough to just walk sub trees. >>>>> >>>>>>> If you have any additional comments in this regard I'd appreciate >>>>>>> reading them. In particular, if you had any performance tips using >>>>>>> the >>>>>>> XPath evaluator that would be great. >>>>>>> >>>>>> We will update some of the articles on the website, also there is >>>>>> going >>>>>> to be >>>>>> an article for Javaworld in which XML MOdifier will be disucssed... >>>>> Looking forward to it. >>>>> >>>>>>> Also, I have just found out about XMLModifier. Do you have any >>>>>>> example >>>>>>> code that shows how best to use this class? Not that it looks >>>>>>> difficult >>>>>>> - I'm just incredibly lazy and just want to copy/paste code that >>>>>>> sets up >>>>>>> the VTDNav and calls bind() appropriately. :-) >>>>>>> >>>>>> In the example code there is a directory named "update," in which you >>>>>> will find >>>>>> the example code of using XML Modifier >>>>> Ah, thanks. >>>>> >>>>>>> I couldn't find a way to create a masterDocument with a specific >>>>>>> character set or other prologue data...(mainly so I can just use >>>>>>> updateToken(int, String) ). >>>>>>> >>>>>> masterDocument is really an instance of VTDNav... the way to create >>>>>> one >>>>>> is to parse an XML document... >>>>>> >>>>>> Did I understand this part of your question? >>>>> I don't think so. Here is an example of what I want to do: >>>>> >>>>> I want to use VTD-XML to create an in-memory representation of a >>>>> document, and then serialize it to a byte[]. >>>>> >>>>> What you seem to be saying is that I need to boot-strap this by >>>>> creating >>>>> an empty XML document, parse it, and them use XMLModifier to >>>>> dynamically >>>>> create the document before serializing it to byte[]. >>>>> >>>>> This is important to me for using VTD-XML for tasks other than just >>>>> routing XML requests. I need to create and modify XML responses as >>>>> well... >>>>> >>>>> Note: The output prologue is very important. >>>>> >>>>> I'd like the ability to just create an empty VTDNav, and specify the >>>>> prologue info (version and encoding attributes are the most >>>>> important to >>>>> me). >>>>> >>>>>>> It would also be interesting to see how well XMLModifier benchmarks >>>>>>> against xerces. >>>>>> The bechmark number combines XPath, paring and outputting. Outputting >>>>>> alone will be make the number look even better... >>>>> Fantastic. >>>>> >>>>> Cheers. >>>>> >>>>> >>>>> -- >>>>> http://www.ScheduleWorld.com/ >>>>> Free Google Calendar synchronization with Outlook, Evolution, >>>>> cell phones, BlackBerry, PalmOS, Exchange, Mozilla, Thunderbird, >>>>> Pocket PC/Windows Mobile. Also sync tasks, notes and contacts! >>>>> WebDAV, vfreebusy, RSS, LDAP, iCalendar, iTIP, iMIP support. >>>>> >>>>> ------------------------------------------------------------------------- >>>>> >>>>> Take Surveys. Earn Cash. Influence the Future of IT >>>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>>> share >>>>> your >>>>> opinions on IT & business topics through brief surveys - and earn cash >>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>>> >>>>> _______________________________________________ >>>>> Vtd-xml-users mailing list >>>>> Vtd...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/vtd-xml-users >>>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------- >>>> >>>> Take Surveys. Earn Cash. Influence the Future of IT >>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>> share your >>>> opinions on IT & business topics through brief surveys - and earn cash >>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> >>>> _______________________________________________ >>>> Vtd-xml-users mailing list >>>> Vtd...@li... >>>> https://lists.sourceforge.net/lists/listinfo/vtd-xml-users >>> >> >> > |