Efficiency, UUIDs and SQLite

tosh1 pts0 comments

Efficiency, UUIDs and SQLite · Vespa Documentation Vespa Documentation

Installation 1. New Vespa Installation<br>2. Upgrading Vespa<br>3. How to Contribute<br>4. How to Report Bugs<br>Vespa User Manuals 1. Pulse User Manual<br>2. Simulation User Manual<br>3. DataSim User Manual<br>4. Analysis User Manual<br>Development Vespa General Topics Getting Started for Developers Developer Setup<br>Licensing.md<br>The Vespa Appliance (Virtual Machine)

Distribution and Installation (for Release Managers) How To Build and Upload a Vespa Wheel<br>Passwords, PyPI Uploads, twine, and .pypirc<br>Pre- and Post-Install Utilities

General Technical Notes About Vespa Coding Standards - General Comments<br>Deflate and Inflate<br>The Vespa Exception Hook<br>Export and Import Technical Notes<br>VeSPA- General Project FAQ Page<br>Import Subtleties<br>Vespa’s INI Files<br>Vespa ToDo Priorities<br>The Perils of str()<br>UsingSqlDesigner.md<br>VIFF (Vespa Interchange File Format) Overview<br>The Vespa Data Directory<br>VIFF (XML) Version History<br>XML Versions

Databse Topics Changing Vespa’s Database Structure<br>Array BLOBs in the Database<br>Efficiency, UUIDs and SQLite<br>SQLite Versions

Vespa GUI Topics DicomBrowserDemo.md<br>Vespa GUI Development<br>A Special Note for Using wxGlade under Windows<br>The vespa.common.wx_gravy Library<br>Custom Controls and wxGlade<br>Miscellaneous wx-Related Tips, Bugs and Quirks

Other Technical Notes C++ Coding Standards<br>Installer Generators<br>LambdaSetOperations.md<br>Notes about Creating C/C++ Binaries that Run on Different Flavors of Linux<br>MsvcVersionNumbers.md<br>py2exe<br>What I Gleaned at SciPy 2009<br>SiemensCsaHeaderParsing.md<br>SwiggingHlsvd.md

Vespa Project History Acknowledgements<br>Motivation for the Vespa Project<br>Vespa in Depth<br>Vespa Overview - the Novel<br>Vespa Developers<br>What Can Vespa Do for Me?

Vespa Application Topics Pulse Dev Historical Topics Acknowledgements for the Pulse Application<br>general<br>ConversationWithJerry.md<br>Import, Concatenate, Machine Settings, Gradients, etc<br>Q&A on Gradients, Calculation-Resolution, create_pulse_base_tab, etc<br>Development and Design Notes<br>Planning Additional Transformations and Plot Options<br>Post Beta To Do Items for Pulse<br>Items Completed

Technical Notes Common Tab Methods, Attributes and Properties<br>Performance of Optimal Control: RFPulse vs Matpulse<br>Plotting of Bloch Profiles<br>Pulse Concatenation<br>Enumerations in Pulse, etc<br>Matlab to Python Conversion Notes<br>Pulse Object and DB Design<br>Additional References for Matpulse and Pulse<br>Flow, Relaxation, and Resonance Offset (aka Sample Effects)

Simulation Dev Historical Topics Acknowledgements for the Simulation Application<br>Spectral Simulation and Processing References

Technical Notes Simulation Concepts<br>Vespa - Simulation FAQ Page<br>PyGamma vs Gamma<br>Gamma Performance Vs. Spin Count<br>Printing to the Console (stdout) from a Pulse Sequence

DataSim Dev Historical Topics Acknowledgements for the Priorset Application

Technical Notes

Analysis Dev Vespa - Analysis Tutorials<br>Technical Notes Blocks and Slots<br>PyWavelets and Vespa<br>PyWavelets for OS X<br>Building Our PyWavelets for OS X Package

Historical Topics Acknowledgements for the Analysis Application

Other Python Packages PyGAMMA/GAMMA<br>HLSVDPro Developer Setup Thoughts Testing HLSVD<br>CentOS 7 Setup

Technical Notes How to Use HLSVDPro from Python<br>HLSVDPRO Library Dependencies<br>Porting HLSVDPro from Fortran to Python<br>Bugs<br>DBDSQR()<br>What’s Here<br>Fortran Memory Allocation<br>Fortran Timing Code<br>Performance<br>Porting HLSVD to Python<br>Randomness in zgetu0w()<br>Tips, Techniques and Things to Look Out For<br>Unported Code<br>Is This Useful to Vespa?

Release Topics How to Release a New Version of HLSVDPRO<br>How To Upload HLSVDPro Wheels<br>How to Build HLSVDPRO Wheels<br>How to Set Up Linux For Building an HLSVDPRO Wheel<br>How to Set Up OS X For Building an HLSVDPRO Wheel<br>How to Set Up Windows For Building an HLSVDPRO Wheel

Historical Topics Notes to Myself (or Someone Like Me)

Vespa Documentation

development<br>project_dev<br>database<br>DatabaseUuidEfficiency.md

Efficiency, UUIDs and SQLite<br>A UUID can be represented in at least three ways: as a 32 or 36 character string using printable ASCII, a 16 byte string (with each byte in the range 0x00 - 0xff, making the string non-printable) or a 16 byte integer.<br>We store our UUIDs in the most readable format which is also the fattest – as a 36 character string like e8d1860e-0a09-41b89357-c3024e8394b2. (It's the same UUID with or without the four dashes which is why they can be represented as 32 or 36 character strings.)<br>This document examines the pros and cons of storing UUIDs this way and examines alternatives.<br>If you like, you can jump straight to the [#Conclusion conclusion].<br>Advantages and Disadvantages of the Current Scheme<br>The advantages of this scheme are simple. The UUID strings are recognizable to some as UUIDs (to some) and easy to read for everyone. They also match the strings we write to XML files.<br>The disadvantage is mainly that of space. It's my understanding that SQLite is generally very good at not wasting space. Nevertheless, a 36 character string...

vespa notes topics hlsvdpro pulse technical

Related Articles