小编slf*_*slf的帖子

如果我将Objective-C用于低级代码,我的iPhone应用程序会受到性能影响吗?

在iPhone或其他便携式硬件上编程CPU密集型或GPU密集型应用程序时,您必须做出明智的算法决策,以使您的代码更快.

但是,如果你使用的语言表现得比另一种语言差,那么即使是很好的算法选择也会很慢.

有没有比较Objective-C和C++的硬数据,特别是在iPhone上,但可能只是在Mac桌面上,以获得各种类似语言方面的表现?我非常熟悉这篇比较C和Objective-C的文章,但这是一个比较两种面向对象语言的更大问题.

例如,C++ vtable查找是否真的比Obj-C消息快?多快了?线程,多态,排序等.在我开始构建具有重复对象模型和各种测试代码的项目之前,我想知道是否有人已经完成了这个以及结果在哪里.这种类型的测试和比较本身就是一个项目,可能需要相当长的时间.也许这不是一个项目,但可以比较两个而且只有输出.

我正在寻找硬数据,而不是传福音.像许多人一样,我喜欢和讨厌两种语言,原因各种各样.此外,如果有人在那里积极地追求同样的事情,我会有兴趣投入一些代码来查看最终结果,我相信其他人也会帮忙.我的猜测是他们都有优点和缺点,我的目标是准确找出它们是什么,以便在现实世界的场景中避免/利用它们.

c++ iphone optimization performance objective-c

68
推荐指数
4
解决办法
5万
查看次数

Xcode 3.2.1 GCC CLANG和LLVM去神秘化

本周新Xcode 3.2.1附带的自述文件如下:

  • 静态代码分析通过Build菜单下的Build and Analyze选项或自定义构建设置完全集成在Xcode IDE中
  • GCC 4.2是10.6 SDK的默认系统编译器
  • 使用两个不同的前端包含可选的LLVM编译器 - Clang编译器是一个前沿解析器,可以显着改善编译时间.为了获得最大兼容性,GCC LLVM编译器将LLVM后端与GCC 4.2解析器结合使用.
  • 新的可选Clang-LLVM 1.0编译器使用速度更快的Clang前端解析器与LLVM后端编译器相结合,实现快速编译和快速可执行代码.虽然GCC 4.2仍然是系统默认值,但许多项目都将受益于此编译器组合.Clang-LLVM 1.0编译器在遇到C++代码时将回退到使用LLVM-GCC 4.2.

我们公司现有的项目是纯C,Objective-C和Objective-C++,适用于台式机和iphone.有人可以在高层次上总结LLVM,GCC,CLANG,CLANG-LLVM,WordFoo等的差异.人.并解释它们是什么以及我们何时应该使用它们以及用于什么?链接到更详细的解释会很好,但我真的只是在寻找一个高级概述.

iphone xcode gcc llvm clang

39
推荐指数
1
解决办法
7438
查看次数

跨平台iPhone/Android代码共享

简单地说:在iPhone和Android版本之间共享/重用代码的最有效方法是什么?

我认为最常见的两种情况是:

  1. Blank slate new project,提前知道需要在每个设备上运行的大量可重用逻辑.
  2. 现有的iPhone代码库,将C,C++和Objective-C移植到Android NDK或其他方式.

是的当然,在一个完美的世界中,所有应用程序都会插入神奇的云端,所有可重复使用的逻辑都会出现在Google App Engine或某些Web服务中,但这不是这个问题的精神.在经历了iPhone到Android的端口之后,没有任何代码重用,并且看到了这个人不得不忍受的痛苦,我想知道其他人是如何避免它的.

c++ java iphone android objective-c

39
推荐指数
3
解决办法
1万
查看次数

SQL Server*=运算符?

今天,在客户端的生产系统中,我发现了一个包含不熟悉语法的SQL Server查询.在下面的例子中,*=运营商做了什么?我在MSDN上找不到它.查询执行并返回数据.据我所知,自从他们使用SQL Server 2000以来,它一直存在于系统中,但它们现在正在运行2005.

declare @nProduct int
declare @iPricingType int
declare @nMCC int

set @nProduct = 4
set @iPricingType = 2
set @nMCC = 230

--Build SQL for factor matrix

Select distinct
base.uiBase_Price_ID,
base.nNoteRate, 
base.sDeliveryOpt, 
IsNull(base.nPrice,0) as nPrice, 
IsNull(base.nPrice,0) + Isnull(fact.nFactor,0) as nAdjPrice, 
base.iProduct_ID,
fact.iPosition as fiPosition, 
base.iPosition, 
CONVERT(varchar(20), base.dtDate_Updated, 101) + ' ' + CONVERT(varchar(20), base.dtDate_Updated, 108) as 'dtDate_Updated', 
fact.nFactor, 
fact.nTreasFactor, 
product.sProduct_txt ,  
pfi.sPFI_Name,  
mccprod.nServicing_Fee,  
fact.nNoteRate as fNoteRate,  
mcc.nLRA_Charge as nLRA  
From 
tbl_Base_Prices base, tbl_Factors …
Run Code Online (Sandbox Code Playgroud)

sql sql-server operators

25
推荐指数
4
解决办法
3万
查看次数

Three.js移植到本机代码?

我最近一直在玩WebGL,我真的在挖掘Three.js.它非常轻巧,只是让大多数GL调用变得容易一些,并提供了一种快速创建像球体这样的基本原型的方法.

现在,在本土,似乎所有的框架都想要比这更多.像Oolong,UDK,Unity,Cocos等等.我做了一些谷歌搜索,我能找到的最接近的东西是iSGL3D,但我并不完全相信这是正确的答案.

是否有更类似于Three.js的东西,用原生C,C++或Objective-C编写,我找不到?

c c++ objective-c ios three.js

24
推荐指数
1
解决办法
6851
查看次数

iPhone游戏开发者 - 你的工具链是什么样的?

例如:

  • 源代码控制:git + adobe驱动
  • 3d:google sketchup - >*.dae - > blender - >*.obj
  • 2d:photoshop/illustrator - >*.png
  • audio:audacity - >*.caf
  • 代码:ArgoUML,Xcode,Textmate
  • 测试:OCUnit
  • build:rake,Xcode

随意提及你认为很棒的任何其他工具:)

iphone build-process opengl-es

19
推荐指数
1
解决办法
1213
查看次数

为什么浮点运算在某些语言中显示不同?

我读过这些:

他们解释"如何".我想知道为什么这些语言有所不同.考虑到相同的输入,我期待类似的结果.

test.js

#!/usr/bin/env node

var nine = 9.0;
var pointOhOhOne = 0.001;
var result = nine * pointOhOhOne;
console.log(result);
Run Code Online (Sandbox Code Playgroud)

test.java

public class test {

  public static void main(String[] argv) {
    double nine = 9.0d;
    double pointOhOhOne = 0.001d;
    double result = nine * pointOhOhOne;
    System.out.println(result);
  }

}
Run Code Online (Sandbox Code Playgroud)

test.c的

#include "stdio.h"

int main() {
  double nine = 9.0;
  double pointOhOhOne = 0.001;
  double result = nine * pointOhOhOne;
  printf("%f", result);
}
Run Code Online (Sandbox Code Playgroud)

test.rb

#!/usr/bin/env ruby

nine = 9.0
pointOhOhOne …
Run Code Online (Sandbox Code Playgroud)

floating-point

18
推荐指数
2
解决办法
1071
查看次数

如何使用Azure API启动容器实例?

我在gitlab中有一个容器构建,并使用gitlab自定义注册表进行注册.在这个容器里面是一个运行很长时间的命令.我想以某种方式将此容器部署到azure,并且只根据管理api服务的需要在新容器实例中启动这个长时间运行的进程.我不希望容器一直运行,只是运行命令所花费的时间.

我认为这个admin api可能是Azure"App Services"下托管的经典http rest api服务,或者可能使用Azure的新"功能应用程序"功能.

在我的研究中,我发现使用azure cli命令,我可以像这样启动一个容器:

az container create \
    --resource-group myResourceGroup \
    --name mycontainer2 \
    --image microsoft/aci-wordcount:latest \
    --restart-policy OnFailure \
    --environment-variables NumWords=5 MinLength=8
Run Code Online (Sandbox Code Playgroud)

https://docs.microsoft.com/en-us/azure/container-instances/container-instances-environment-variables

我想从admin api执行此操作,最好使用看起来像我这里的官方Azure npm包的内容:

https://www.npmjs.com/package/azure

理想情况下,创建和启动实例将是一个单独的命令,能够在容器启动时设置环境变量就像这个例子对我来说很重要.我对将我的所有代码都移到Azure中不感兴趣,我想继续使用gitlab作为源代码和容器注册表,但如果有一些原因我必须切换到使用Azure容器注册表,我需要一种方法来不知何故使用gitlab ci yaml在那里移动容器注册.

在我的所有搜索中,我找不到任何方法来做到这一点,但我找到的最接近的文档在这里:

https://docs.microsoft.com/en-us/javascript/api/azure-arm-containerservice/containerserviceclient?view=azure-node-latest

azure node.js gitlab gitlab-ci azure-container-service

13
推荐指数
1
解决办法
351
查看次数

Ruby的实际问题是什么?

Ruby是一门很棒的语言.它快速而灵活,让我想起了很多我非常喜欢的Python.

Ruby也很受欢迎,已经有几年了.现在有一些"真实世界"项目和"rails-app业务",我的问题是:Ruby有什么问题?什么事情做得不是特别好?在集成时是否还有其他产品或技术被证明特别难以处理?在为关键任务应用程序采用Ruby之前,应该让开发人员停下来并注意哪些事情?

此外,是否有人编制了生产Ruby开发的一些主要缺陷列表(博客垃圾邮件或其他)以及如何减轻这些风险?

编辑:

"真实世界"是指商业世界,而不是没有预算和时间表的学术世界.

ruby

12
推荐指数
1
解决办法
4715
查看次数

PowerShell眼睛为Bash的家伙

对于多年来一直使用bash的人来说,使用Microsoft的PowerShell提高效率的最快方法是什么?我注意到我的老朋友lsps工作,但遗憾的grep是没有.我可以直接阅读并阅读大量的文档,但我猜测,对于具有长期使用bash历史的人来说,有更快的生产力路径.

我不知道它是否重要,但我想要了解的原因是因为看起来Windows上最终有一个合适的shell而不需要安装cygwin,我想开始使用它专门而不是为构建和部署等自动化活动编写bat文件.

bash powershell

9
推荐指数
3
解决办法
863
查看次数