PageRenderTime 44ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/mysql_watcher/indra/base/cllsd_test.py

https://bitbucket.org/lindenlab/apiary/
Python | 76 lines | 42 code | 10 blank | 24 comment | 2 complexity | f6569961f870eef477d9cf91ddad9296 MD5 | raw file
  1. #
  2. # $LicenseInfo:firstyear=2010&license=mit$
  3. #
  4. # Copyright (c) 2010, Linden Research, Inc.
  5. #
  6. # Permission is hereby granted, free of charge, to any person obtaining a copy
  7. # of this software and associated documentation files (the "Software"), to deal
  8. # in the Software without restriction, including without limitation the rights
  9. # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10. # copies of the Software, and to permit persons to whom the Software is
  11. # furnished to do so, subject to the following conditions:
  12. #
  13. # The above copyright notice and this permission notice shall be included in
  14. # all copies or substantial portions of the Software.
  15. #
  16. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21. # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  22. # THE SOFTWARE.
  23. # $/LicenseInfo$
  24. #
  25. from indra.base import llsd, lluuid
  26. from datetime import datetime
  27. import cllsd
  28. import time, sys
  29. class myint(int):
  30. pass
  31. values = (
  32. '&<>',
  33. u'\u81acj',
  34. llsd.uri('http://foo<'),
  35. lluuid.UUID(),
  36. llsd.LLSD(['thing']),
  37. 1,
  38. myint(31337),
  39. sys.maxint + 10,
  40. llsd.binary('foo'),
  41. [],
  42. {},
  43. {u'f&\u1212': 3},
  44. 3.1,
  45. True,
  46. None,
  47. datetime.fromtimestamp(time.time()),
  48. )
  49. def valuator(values):
  50. for v in values:
  51. yield v
  52. longvalues = () # (values, list(values), iter(values), valuator(values))
  53. for v in values + longvalues:
  54. print '%r => %r' % (v, cllsd.llsd_to_xml(v))
  55. a = [[{'a':3}]] * 1000000
  56. s = time.time()
  57. print hash(cllsd.llsd_to_xml(a))
  58. e = time.time()
  59. t1 = e - s
  60. print t1
  61. s = time.time()
  62. print hash(llsd.LLSDXMLFormatter()._format(a))
  63. e = time.time()
  64. t2 = e - s
  65. print t2
  66. print 'Speedup:', t2 / t1