An array in C# has some space overhead: it stores its sync block, its array type, possibly its element type (for reference types), its length...  Some quick tests indicate that the array's elements actually start at a cache line boundary. For example, in a byte[] it is faster for two separate threads to simultaneously update index 63 and 64, respectively (as they are on different cache lines), than for them to update index 62 and 63 (as they are on the same cache line).  I'm curious to know where the metadata is stored. Does it go at the end, possibly residing in the same cache line as the last few elements? Or is it stored elsewhere altogether?  This could be useful when trying to cache-optimize the usage of some array. If the metadata is stored in a separate cache line, then there is probably nothing we can do to avoid that extra cache line fill whenever the array is used. However, if it is stored in the last cache line, then the array size could be optimized to leave precisely enough room for the metadata, and the elements in that cache line could be probed first, as it is available anyway.
What is the memory layout of a .NET array?  Take for instance this array:  Int32[] x = new Int32[10];   I understand that the bulk of the array is like this:  0000111122223333444455556666777788889999   Where each character is one byte, and the digits corresponds to indices into the array.  Additionally, I know that there is a type reference, and a syncblock-index for all objects, so the above can be adjusted to this:  ttttssss0000111122223333444455556666777788889999         ^         +- object reference points here   Additionally, the length of the array needs to be stored, so perhaps this is more correct:  ttttssssllll0000111122223333444455556666777788889999         ^         +- object reference points here   Is this complete? Are there more data in an array?  The reason I'm asking is that we're trying to estimate how much memory a couple of different in-memory representations of a rather large data corpus will take and the size of the arrays varies quite a bit, so the overhead might have a large impact in one solution, but perhaps not so much in the other.  So basically, for an array, how much overhead is there, that is basically my question.  And before the arrays are bad squad wakes up, this part of the solution is a static build-once-reference-often type of thing so using growable lists is not necessary here.
Creating a selector from a method name with parameters I have a code sample that gets a SEL from the current object,   SEL callback = @selector(mymethod:parameter2);   And I have a method like    -(void)mymethod:(id)v1 parameter2;(NSString*)v2 { }   Now I need to move mymethod to another object, say myDelegate.  I have tried:  SEL callback = @selector(myDelegate, mymethod:parameter2);   but it won't compile. Miktex Package Installation I recently installed MiKTeX with the texmaker editor and cannot figure out how to update the packages. When I attempt to use the subfigure package with the following preamble  \documentclass[a4paper,12pt]{article} \usepackage[english]{babel} \usepackage{graphicx} \usepackage{subfigure}   I then get a prompt to install a new package, which I then set to the online directory at ctan. I then get the following error:   ! LaTeX Error: File `subfig.sty' not found.Type X to quit or &lt;RETURN&gt; to proceed,or enter new name. (Default extension: sty)Enter file name:! Emergency stop.&lt;read &gt;   How do I properly install packages to miktex? I'm absolutely confused. Thanks in advance for any help. I read in a CSV file for linking to a .shp file.   All the variables that are just numbers came in as text.   How do I change the text variables to numeric in QGIS? I've been interested in non-standard analysis recently. I was reading up on it and noticed the following interesting comment on the , right after giving an example of a nonstandard differentiation:     The use of the standard part in the definition of the derivative is a rigorous alternative to the traditional practice of neglecting the square of an infinitesimal quantity... the typical method from Newton through the 19th century would have been simply to discard the $dx^2$ term.   I've never heard anything like this before, and really find it fascinating that Newton's method was to define the relation $dx^2 = 0$. If we actually formalize the above structure by taking $\mathbb{R}$ and adjoining an element $dx^2 = 0$ to it, we get the "dual numbers," isomorphic to the quotient ring $\mathbb{R}[x]/x^2$. I'd seen some things about how this algebra plays into automated differentiation algorithms for some computer software systems, but I've never heard anything about Newton directly working in this algebra. So I have a few questions:   Does anyone have more historical information on the way that Newton performed differentiation, and its relation to the dual numbers? Does anyone know how effectively real analysis can be formalized with the dual numbers? Does the resulting system play nice enough to develop all of the important modern results? If we start with $\mathbb{C}[x]/x^2$ instead, can we likewise develop complex analysis?   Since this idea is so simple, I'm very curious how powerful it is. I'm also curious if it has any major drawbacks too, since I'm not sure why anyone would mess with the foundational baggage involved in defining the hyperreals if this simple 2-dimensional real algebra could really do the trick. I tried to fix my hard drive using Ubuntu but I encountered an error message and didn't know how to proceed. I need to fix my bad sectors   fsck /dev/sdb   fsck from util-linux 2.20.1   e2fsck 1.42.5 (29-Jul-2012)   fsck.ext2: Permission denied while trying to open /dev/sdb   You must have r/w access to the filesystem or be root Which is correct: "has died" or "died"? Can I revert to the Mountain Lion style labels instead of Mavericks tags? How? Performing reverse clip in ArcMap? Is there a way to perform a 'reverse' of the clip function in ArcMap?  I am not exactly sure how to explain this so here is a diagram: Blown out blue/red light making photos look out of focus How to fix dpkg error [2]? Every time I try to install or remove a package, I get this error. I thought maybe it was the hard disk, but a disk check gave me a clean bill of health. dpkg: unrecoverable fatal error, aborting: reading files list for package 'linux-headers-3.16.0-31': Input/output error E: Sub-process /usr/bin/dpkg returned an error code (2) A package failed to install.  Trying to recover:  I tried the solution of removing the listing for this file from the dpkg status file, but to no avail. I tried purging the package but no use. I'm stuck at this point as nothing I can find on Google helps. Update: This is now what the error says: dpkg: unrecoverable fatal error, aborting: E: Sub-process /usr/bin/dpkg returned an error code (2) A package failed to install.  Trying to recover:  After trying:  Update2: Seems the drive has bad sectors, but the reallocated sector count is 0. The drive is relatively old, however, so I expect some issues. I won't be able to replace it immediately, and until then I would still like to be able to keep the system up to date (especially for security reasons). I noted that there was an issue with coping some md5 checksums related to the package mentioned in the error, but I don't know what to do with those, such as if clearing them would allow dpkg to continue. Does there exist a matrix $\mathbf{A}\in\mathbb{R}^{3\times3}$ such that $\mathbf{A}^{2}=-\mathbf{I}$? to infinitive as direct object?! (as in : I promised to get there in time.) I'm a passionate Korean English-learner, and I would like to ask you a question about grammar.   It was 3 years ago when I first started to study the to-infinitive as studying grammar with Grammar In Use series and English Grammar series by Longman, having been exposed to English for 3 years. There wasn't any mention of the author saying that the usage of the to-infinitive is as an (direct) object. And for me also, the times I have encountered sentences in which the usage of the to-infinitive, so to speak, as direct objects were used, I've read them as some kind of obligatory adverbial that shows what the verbs are about, not as objects, which means they are noun phases! 100% of Korean textbooks say the usage is as a direct object, but I doubt it. I think it's some kind of obligatory adverbial that shows what the verbs are about.    I thought it was better for me to ask Americans themselves. Do you read this usage of to-infinitive as a noun phrase or an adverbial? Tangent and Normal lines that pass through the origin Let $\alpha$ be a regular curve in $\mathbb{R}^2$ and let all of its tangent lines pass through the origin. Also, let $\beta$ be a regular curve in $\mathbb{R}^2$ and let all of its normal lines pass through the origin.   How can I show that $\alpha$ is contained in a straight line through the origin and that $\beta$ is contained in a circle around the origin?  I know that the tangent line $\alpha(t)$ is the line that points in the direction of the tangent vector $T(t)$ and that the normal line of $\beta(t)$ is the line that points in the direction of $N(t)$, but how can I put this all together to complete the proof? Chocolate and oil mixed When I melt 16 oz of chocolate I add 4 oz of oil how long can I keep this and how should it be stored. Someone said something about botulism ?? I made the jump from Jumsoft's Money app to GnuCash a while back. It appealed to all my OCD tendencies. I don't know how to use Perl, or stuff of the sort, but with detailed instructions I manage to get things done... when I can find them.  I set up Finance::Quote to pull quotes after I set up GnuCash. I even managed to get it to pull quotes for Korean funds. And every thing had been working well, until tonight. I only get back a pop-up that states "There was an unknown error while retrieving the price quotes." That's where I need help. What can I do?  I dug around and found that it seems that it has something to do with Yahoo Finance ending it's API support. I also learned that Finance::Quote can pull data from many sources, so I don't really understand why one missing API would break it. I also saw that someone out there is trying to use AEX to pull the quotes instead for GnuCash specifically. I found Finance::Quote on cpan (I also first heard of cpan), but I don't understand what I'm looking at. But that's all beside the point. I don't know how to fix this.  Any help would be appreciated. I'm on Windows 10, GnuCash version 2.6.17, and have Strawberry Perl 5.18.2.2-32bit installed.  edit Thanks everyone who responded. It seems to be working more or less. The currency and Korean funds still haven't updated, but you've shown this horse to water. I'll do my best to drink it now. I already read it from manual but I can't see difference..  su - change user ID or become superuser  sudo -s [command]   The -s (shell) option runs the shell specified by the SHELL environment variable if it is set or the shell as specified in passwd(5).  If a                    command is specified, it is passed to the shell for execution.  Otherwise, an interactive shell is executed.  sudo -i disappear description in manual Prove if $\operatorname{ord}(a)=m$, $\operatorname{ord}(b)=n$, and $\operatorname{gcd}(m,n)=1$, then $\operatorname{ord}(ab)=mn$.   I was reading this and was thinking how this proof would look like. I tried to do it and am not sure if this is correct. Here is what I did:  If $a$ and $b$ commute then $(ab)^{mn} = a^{mn} * b^{mn} = (a^m)^n * (b^n)^m = 1 * 1 = 1.$ So $ord(ab) | mn$.  Now, take $k = \operatorname{ord}(ab) = m^\prime * n^\prime$ where m' is relatively prime with $n$ and $n'$ is relatively prime with $m$. By the result above $m' | m$ and $n' | n$. Now we have $((ab)^k)^{m/m'} = 1$ since $(ab)^k=1$. But on the other hand, by the commutativity:  $$((ab)^k)^(m/m') =$$  $$((ab)^(m' * n'))^(m/m') =$$  $$ a^{n'm} * b^{n'm} = $$  $$(a^m)^{n'} * b^{n'm'}=$$  $$b^{n'm'} = 1$$  This implies that $n' * m'$ is divisible by $n$. But $m'$ is relatively prime with $n$, so we must have $n' = n.$ By symmetry, $m' = m$. So $ord(ab) = mn$.  Just to say this again, I want to prove if $a$ and $b$ commute and $m$ and $n$ are relatively prime then   $$ord(ab)=mn.$$   The comments are vague. I guess this must be the answer then and there probably is not another way to do this. So basically I want to show:  $\aleph_{\alpha}^{\aleph_{1}} = \aleph_{\alpha}^{\aleph_{0}}\cdot2^{\aleph_1}$ , Where $\omega\leq\alpha&lt;\omega_1$  There is a proof that I found;    But I don't understand his proof for the limit case of $\alpha$.  To be more specific, I dont understand why $ \left( \sup_{\omega \le \beta &lt; \alpha} \aleph_{\beta}\right)^{\aleph_1} \le \left( \prod_{\omega \le \beta &lt; \alpha} \aleph_{\beta}\right)^{\aleph_1}$  Any insights or help is deeply appreciated.  Cheers How do I contact other users? How can I contact another user, if that user has not specified any contact details in their profile? Explicitly finding the sum of $\arctan(1/(n^2+n+1))$