프로세스간에 매우 많은 양의 메시지를 전달하기 위해 멀티 스레드 공유 메모리 메시징 시스템을 작성하려고합니다. 메시지는 웹 서버의 작업자 스레드에서 발생합니다. 나는 같은 CPU 공유에 코어가있는 CPU 캐시 지역을 이용하려고한다. 그래서 내가이 IPC 시스템의 수신단에서 작업자 스레드를 깨울 때, 나는 같은 CPU에서 스레드를 깨운다. Linux (pre
이 두 Java 메소드 호출 중 하나가 프로세서 시간, 메모리 할당 및/또는 가비지 수집과 관련하여 전혀 다르게 동작하는지 궁금합니다. SomeObject myObj = new SomeObject();
myObj.doSomething();
대 new SomeObject().doSomething();
값을 조회하는 데 사용하는 배열이 있습니다. 처음 두 값을 사용하여 n 행을 얻습니다. 예를 들어 첫 번째 열에는 2가 있고 두 번째 열에는 7이있는 모든 행이 있습니다. 이 값을 구하는 가장 빠른 방법은 무엇입니까? 지금 값을 얻기 위해 루프를 사용 int l = SpreadLookupTable.GetLength(0);
for (int iCombo =
때때로 값 세트에서 중복 ID를 확인해야하며 일반적으로이 키를 사용하고 값을 비워 두는 사전을 사용합니다. 매우 엄격하고 최적화 된 코드이므로 '조기 최적화'를 외치십시오. CPU와 RAM이 한계까지 짜내는 시나리오를 가정 할 때 나는보다 최적의 솔루션에 대한 의견을 수집하고자했습니다. 아마도 Lookup 클래스와 같은 것은 불필요한 RAM 할당을 피할 것
길이가 1에서 카운트하는 대신 길이가 1에서 0까지 으로 작은 루프를 카운트하는 것이 좋습니다입니까? 다운 for (int i = a.length - 1; i >= 0; i--) {
if (a[i] == key) return i;
}
2) 계산 첫번째 약간 빠르다 for (int i = 0; i < a.length; i++) {
if
Java의 >> (부호가있는) 및 >>> (부호없는) 오른쪽 비트 시프트 연산자가 다르게 수행된다고 생각할 이유가 있습니까? 내 컴퓨터에서 차이점을 발견 할 수 없습니다. 이것은 전적으로 학문적 인 질문입니다. 결코 병목이 될 수는 없을 것입니다. 알아요. 당신이 제일 중요하게 생각하는 것을 쓰는 것이 가장 좋습니다. 예를 들어 2로 나눌 때 >>를 사용하
제곱 레지스터의 값을 제곱은 어렵지 않다 매우 높았다. 단 한 줄의 차이라도 5 점까지 가치가있을 수 있습니다. 나는이 마이크로 최적화 실감하지만, 다음과 같은 코드가 같은 방법? mov ax, [var]
mul ax // is answer still in DX:AX ?
내 질문을 표현하는 매우 간단한 방법을 생각을 수행 할 것은 : AX (또는
간단한 가져 오기 도구가 있는데, 꽤 큰 CSV의 각 줄을 거쳐 데이터베이스로 가져옵니다. 내 질문은 : 각 객체를 삽입하는 다른 메소드를 호출해야합니까 (DO 생성 및 삽입을 지시). 삽입 프로세스에서 삽입 프로세스를 하드 코딩해야합니까? 나는 두 번째 방법을 호출하는 것이 유익하다는 것을 알고 있지만 함수 호출이 비싸다고 계속 들었습니다. 당신은 어떻게
질문을 깊이 읽지 않아도되는 질문은 굵게 표시됩니다. 이것은 this 질문에 대한 후속 조치입니다. 함수에서 정적 변수의 초기화 의미와 관련이 있습니다. 정적 변수는 한 번 초기화해야하며 나중에 내부 상태가 변경 될 수 있습니다. 즉, 연결된 질문에서 I (현재)가 변경됩니다. 그러나 문제의 코드는 기능을 나중에 변수의 상태를 변경하지 않아도됩니다. 문자열