A good part of that is that whenever an action is finished, that view tells the others about it happening, and then all those views tell all other views about how they reacted to it, making every change O(n^2) with the number of views. #GSPLIT DWARF ICECC FAILURE CODE#So here LO spends a little time adding the character and then the rest of the time is spent in various code parts "talking" about it. It's called whenever Writer finishes an action such as adding another typed characters, and one of the things it does is telling other views about the change. When running Online's perf-test, which simulates several users typing in the same document, most of the time is actually spent in SwEditShell::EndAllAction(). You thought that showing the same document in more views would just mean more painting also in those views? Nah, think again, this is OpenOffice code, the land of programming wonders. But I've been looking exactly into this recently as part of optimizing Collabora Online performance, and boy, are there were gems in there. Not a big surprise, considering that presumably back when that code was written nobody thought the same document could be edited by numerous users at the same time. And that, in fact, is how collaborative editing such as with Collabora Online works - open a document, create a new view for every user, and there you go.īut, given that this has never really been used that much, how well did the original relevant code perform and scale for more users? Well, not much, it turns out. #GSPLIT DWARF ICECC FAILURE UPDATE#Just select Window->New Window in the menu and you can edit your favourite document in 50 views that each show a different part of the document and update in real time. For whatever strange reason, somewhen in the past somebody thought that implementing multiple views for one document in OpenOffice (StarOffice?) was a good idea. somebody did and that's how collaborative editing based on LibreOffice works. Who'd think about LibreOffice and more than one user at the same time, right? Except. Here is a summary of all the options, grouped by type.Have you ever edited a document in LibreOffice in more than one window? Right, neither have I. Two forms, whichever one is not the default. Most of these have both positive and negativeįorms the negative form of -ffoo is -fno-foo. fmove-loop-invariants, -Wformat and so on. Many options have long names starting with -f or with -W-for example, The placement of the -l option is significant. You specify -L more than once, the directories are searched in the order specified. Order does matter when you use several options of the same kind for example, if For the most part, the order you use doesn't Letter names therefore multiple single-letter options may not be grouped: -dv is very The gcc program accepts options and file names as operands. Language, you can use that option with all supported languages. If the description for a particular option does not mention a source Most of the command-line options that you can use with GCC are useful for C programs whenĪn option is only useful with another language (usually C++), the explanation says soĮxplicitly. Linker most of these are not documented here, since you rarely need to use any of them. Yet other options control the assembler and Preprocessor and others the compiler itself. Other options are passed on to one stage of processing. ForĮxample, the -c option says not to run the linker. The "overall options" allow you to stop this process at an intermediate stage. When you invoke GCC, it normally does preprocessing, compilation, assembly and linking. Only the most useful options are listed here see below for the remainder.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |