我一直在编程... 6-> 8年,我已经开始意识到当我做类似的事情时,我真的不知道在低水平的事情发生了什么.
int i = j%348
Run Code Online (Sandbox Code Playgroud)
问题是,我知道j%348做了什么,它将j除以348并找到余数.我不知道的是计算机如何做到这一点.
同样,我知道
try
{
blah();
}catch(Exception e){
blah2();
}
Run Code Online (Sandbox Code Playgroud)
将调用blah,如果blah抛出,它将调用blah2...但是,我不知道计算机如何执行此操作而不是错误...崩溃或结束执行.
我认为为了让我在编程方面"更好",我应该知道我的代码到底在做什么.[这可能也会帮助我优化和...错误...不做蠢事]
我认为我所要求的可能是在大学或其他什么地方教授的东西,但说实话,如果我能学到一点,我会很高兴.
问题的关键是:
我要问的主题/计算机科学课程是什么? 因为老实说,我不知道.
由于我不知道这个主题叫什么,我实际上找不到书或在线资源来了解这个主题,所以我有点卡住了.如果有人帮助我,我会永远感激= /
我有什么方法可以在两个网络工作者之间共享变量吗?(Web worker基本上是Javascript中的线程)
在像c#这样的语言中你有:
public static string message = "";
static void Main()
{
message = "asdf";
new Thread(mythread).Run();
}
public static void mythread()
{
Console.WriteLine(message); //outputs "asdf"
}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个糟糕的例子,但在我的Javascript应用程序中,我有一个线程进行大量计算,可以分布在多个线程中[因为我有一大块数据以数组的形式.数组的所有元素都是相互独立的.换句话说,我的工作线程不必关心锁定或类似的东西]
我发现在两个线程之间"共享"变量的唯一方法是创建一个Getter/setter [通过原型设计],然后使用postMessage/onmessage ...虽然这看起来效率很低[特别是对象,我有使用JSON进行AFAIK]
LocalStorage/Database已经从HTML5规范中删除,因为它可能导致死锁,所以这不是一个选择[遗憾] ......
我发现的另一种可能性是使用PHP实际上有一个getVariable.php和setVariable.php页面,它们使用localstorage来存储整数/字符串...再一次,Objects [包括arrays/null]必须转换为JSON ......然后是JSON.parse()'d.
据我所知,Javascript工作线程与主页面线程完全隔离[这就是Javascript工作线程无法访问DOM元素的原因
虽然postMessage有效但速度很慢.
谢谢!
我试图对"缓存"math.floor的获得/丢失进行基准测试,希望我能更快地拨打电话.
这是测试:
<html>
<head>
<script>
window.onload = function()
{
var startTime = new Date().getTime();
var k = 0;
for(var i = 0; i < 1000000; i++) k += Math.floor(9.99);
var mathFloorTime = new Date().getTime() - startTime;
startTime = new Date().getTime();
window.mfloor = Math.floor;
k = 0;
for(var i = 0; i < 1000000; i++) k += window.mfloor(9.99);
var globalFloorTime = new Date().getTime() - startTime;
startTime = new Date().getTime();
var mfloor = Math.floor;
k = 0;
for(var i = 0; i …Run Code Online (Sandbox Code Playgroud) 当我尝试打开 TypeScript 文件时,我的光标会忙碌一段时间,然后什么也没有发生;代码窗口打不开。
可能是什么问题呢?
#pragma onceHLSL 中与 C/C++-like 的等价物是什么?
我想要(作为一个人为的例子):
// ./dependency.hlsl
float x() { return 0; }
// ./shader.hlsl
#include "./dependency.hlsl" // (./ unnecessary; for question readability)
#include "./dependency.hlsl"
Run Code Online (Sandbox Code Playgroud)
不会失败error X3003: redefinition of 'x'。#pragma once在我的文件顶部产生一个非错误warning X3568: 'once' : unknown pragma ignored并且什么都不做!
javascript ×2
benchmarking ×1
direct3d ×1
hlsl ×1
html ×1
include ×1
optimization ×1
pragma ×1
shader ×1
typescript ×1
web-worker ×1